セージ の メモ書き

メモこそ命の恩人だ

DB

SQL Server - 先行読み取り (Read Ahead)

先行読み取り (Read Ahead) 先行読み取りしたページ数の確認 先行読み取り (Read Ahead) ページの読み取り - SQL Server | Microsoft Docs クエリの実行前に、予想したページをバッファキャッシュに取得する機能。 連続したページを読み取る。(最大64ページ…

SQL Server - ダーティページ/チェックポイント

ダーティページ (Dirty page) チェックポイント 自動チェックポイント 間接チェックポイント 手動チェックポイント 内部チェックポイント Q&A Q.ダーティページはバッファキャッシュの削除コマンドで残る? 自動チェックポイントのタイミングは? ダーティペ…

SQL Server - プランキャッシュ(プロシージャキャッシュ)

プランキャッシュ(プロシージャキャッシュ) キャッシュの削除 キャッシュされたクエリの確認 各クエリの集計データ 各クエリの使用回数 プランキャッシュ(プロシージャキャッシュ) クエリ実行プランのキャッシュ。 キャッシュにあれば、クエリのコンパイ…

SQL Server - バッファキャッシュ(バッファプール)

バッファキャッシュ(バッファプール) キャッシュの削除 キャッシュのページ情報を確認 各ページ情報(基本) ページの集計情報 キャッシュの管理情報 拡張バッファキャッシュ Q&A Q. バッファキャッシュの最大サイズは? Q. 特定ページを意図的にキャッシ…

SQL Server - クエリ処理時間の計測

準備 システム日時の取得 日時データの差分 キャッシュの削除 処理時間の計測 ステートメントごとの処理時間 複数ステートメントの処理時間 複数ステートメントの処理時間(複数結果) 準備 システム日時の取得 SYSDATETIME (Transact-SQL) - SQL Server | M…

SQL Server - バイナリデータの 生成/登録/表示

バイナリデータの生成 バイナリデータの登録 バイナリデータの表示 補足 バイナリデータ (Binary : 2進数) 使用 DDL バイナリデータの生成 ループさせてデータを連結させる。 ループ数によりデータサイズを調整できる。 -- 0x の初期化がポイント DECLARE @D…

SQL Server - T-SQL 変数/制御文

変数 変数の宣言 値の設定 日時型の変数 テーブル型の変数 制御文 IF...ELSE WHILE 変数 docs.microsoft.com 変数の宣言 DECLARE @local_variable (Transact-SQL) - SQL Server | Microsoft Docs DECLARE @変数名 データ型 = 初期値; DECLARE:宣言する 変数…

SQL Server - 自動拡張/圧縮

ファイルサイズ sys.database_files 圧縮 DBCC SHRINKFILE 自動圧縮 拡張 拡張の履歴 手動拡張 ファイルサイズ sys.database_files https://docs.microsoft.com/ja-jp/sql/relational-databases/system-catalog-views/sys-database-files-transact-sql USE D…

SQL Server - ページ/エクステント

概要 ファイル ページ (Page) ページの種類(メタデータ以外) ページの種類(メタデータ) ページの構造 ページ密度って? エクステント (Extent:領域) エクステントの動作タイプ 確認用クエリ ページ内容のダンプ レコードごとのページID インデックスや…

SQL Server - 可変長のデータサイズ

可変長のデータサイズ ページダンプして確認 可変データのみ カラム数:1、最大長:1 カラム数:1、最大長:2 カラム数:2、最大長:1 カラム数:2、最大長:2 カラム数:3、最大長:1 カラム数:3、最大長:3 カラム数:10、最大長:1 カラム数:30、最大長…

PostgreSQL - セットアップ

PostgreSQL セットアップ pgAdmin4 起動 DBの確認 テーブル作成 SQL 実行 PostgreSQL https://www.postgresql.jp/ OSS の RDBMS。 ライセンス:BSD ランキング:4位 (2022/6時点) https://db-engines.com/en/ranking 読み方 ポストグレスキューエル 通称:ポ…

SQL Server - インデックス

インデックス ( Index : 索引 ) インデックスの種類 クラスター化インデックス(主索引) 非クラスター化インデックス(副次索引、二次索引) インデックスの断片化 補足 使用DDL (テーブル生成) 使用DML (レコード挿入) 試験問題での仕様 インデックス ( In…

SQL - Check制約

Check制約 実験用テーブル 制約追加:例1 制約追加:例2 試験問題 Check制約 https://docs.microsoft.com/ja-jp/sql/relational-databases/tables/create-check-constraints カラムの特性に合わせた制約を設定できる。 例:特定の文字のみを登録可能にする…

SQL - CASE

CASE 実験用テーブル WHEN 単一指定 WHEN 複数指定 CASE https://docs.microsoft.com/ja-jp/sql/t-sql/language-elements/case-transact-sql SQLの結果に条件分岐を使用できる。 ~ならば"○"、~ならば"×" みたいな結果を表示できる。 WHEN の後に"条件"を指…

SQL - ORDER BY

ORDER BY 実験用テーブル 単一カラム指定 複数カラム指定 ORDER BY https://docs.microsoft.com/ja-jp/sql/t-sql/queries/select-order-by-clause-transact-sql 指定カラムをソートできる。複数カラムを指定可。 カラム名 or カラムのインデックス を指定す…

SQL - 結合操作

実験用テーブル 直積 INNER JOIN LEFT OUTERJOIN NATURAL JOIN 試験問題:LEFT OUTER JOIN 実験用テーブル USE SampleDB /* テーブル削除 */ IF ObJECt_ID('[SampleTable1]') IS NOT NULL DROP TABLE [SampleTable1]; IF ObJECt_ID('[SampleTable2]') IS NOT…

DB - 表探索/索引探索

表探索(Table Scan:テーブルスキャン) 索引探索(Index Scan:インデックススキャン) SQL Server 探索方法の確認 表探索(Table Scan:テーブルスキャン) 概要 表の全データにアクセスし、一行ずつ探索する方法。 利点 索引領域の断片化などを気にする…

DB - ***キー(候補キー・主キー etc.)

スーパーキー 候補キー 非キー属性 主キー/複合主キー 代理キー 主キーの参照 外部キー 主キーのデータ表現 ナチュラルキー(自然キー) サロゲートキー スーパーキー タプルを一意に識別するための属性の組合せ。 全属性でもOK。一意になるなら何でもOK。 …

SQL Server - ログ/チェックポイント

データの種類 チェックポイント ldf(ログデータ)の役目 障害時の復旧方法 データの種類 メモリ ログバッファ ストレージ mdf:実データ ldf:ログデータ(更新前ログ、更新後ログ) チェックポイント データベース チェックポイント (SQL Server) - SQL Se…

DB - 差分バックアップ/増分バックアップ

差分バックアップ 増分バックアップ 使い分け 差分バックアップの推奨ケース 増分バックアップの推奨ケース 差分バックアップ 初回はフルバックアップする。 2回目以降、初回から更新(追加、変更、削除)された箇所をバックアップする。 最大ファイル数:2 …

DB - 分離レベル/リード現象

Isolation Level:分離レベル READ UNCOMMITTED ダーティリードの発生理由 READ COMMITTED ダーティリードの回避理由 ノンリピータブルリードの発生理由 REPEATABLE READ ノンリピータブルリードの回避理由 ファントムリードの発生理由 SERIALIZABLE ファン…

SQL - カーソル

カーソル(Cursor) 実験用テーブル 使用手順 カーソル(Cursor) https://docs.microsoft.com/ja-jp/sql/t-sql/language-elements/cursors-transact-sql https://docs.microsoft.com/ja-jp/sql/relational-databases/cursors SELECTの結果について、データ…

SQL Server - ユーザー作成

ユーザー CREATE LOGIN CREATE USER サンプル ユーザー https://www.fenet.jp/dotnet/column/tool/1635/ http://www.sql-master.net/articles/SQL48.html ユーザー名 内容 SQL ログインユーザー インスタンスにログインするユーザー CREATE LOGIN データベー…

SQL - GROUP BY

GROUP BY 実験用テーブル GROUP BY:なし GROUP BY:あり Where Having GROUP BY GROUP BY (Transact-SQL) - SQL Server | Microsoft Docs クエリ結果を行のグループに分割する SELECT ステートメント句。 集約関数を使用できる。 GROUP BY に指定した項目で…

SQL - 自己結合(再帰結合)

自己結合 内部結合 WITH句(再帰結合) "親->子" への参照 "子->親" への参照 試験問題メモ 補足 使用DDL 自己結合 SQLの自己結合って何?同じテーブルを結合する方法とは?! | ポテパンスタイル 逆引きSQL構文集 - テーブルを自己結合する(再帰結合) SQLSe…

DB - ACID特性/BASE特性

ACID特性 Atomicity:原子性 Consistency:一貫性 Isolation:独立性 Durability:耐久性 BASE特性 Basically Available:原則、可用性 Soft State:やわらかい状態 Eventual Consistency:結果整合性 補足 CAP定理 ACID特性 "トランザクション処理" の信頼…

SQL Server インデックス断片化 -> 再編成/再構築

インデックス断片化 確認方法 対処方法 再編成 (REORGANIZE) 再構築 (REBUILD) 実験 断片化 スクリプト1 スクリプト2 スクリプト3 再編成/再構築 断片化されたインデックスの検出と解決 - SQL Server | Microsoft Docs SQL Serverの断片化したインデック…

SSMS 最大表示桁

SSMS 最大表示桁 補足:使用テーブル SSMS 最大表示桁 表示モードならどこまでも表示可能。 編集モードで表示可能な桁数がある。 43680 桁未満なら表示可。 43680 桁以上なら表示不可。 SQL Server 2019 Express の結果である。 <表示モード> <編集モード> -…

SQL Server 互換性レベル

互換性レベル 注意事項 互換性レベル ALTER DATABASE 互換性レベル (Transact-SQL) - SQL Server | Microsoft Docs 互換性レベルとは、DB エンジンのバージョン情報である。 SQL Server のバージョン情報ではない。エンジンの情報である。 SQL Server 2008 …

SQL Server 2019 Express インストール

SQL Server 2019 Express インストール要件 手動インストール SQL Server のインストールに伴いインストールされたソフト SQL Server Management Studio (SSMS) SQL Server 2019 Express インストール要件 SQL Server 2019:ハードウェアとソフトウェアの要件…