今回は,インデックスの作成手順をまとめてみました。
Step1
テーブルを作成したら,まずはプライマリキーを作成しましょう。これでクラスター化インデックスが作成されます。
Step2
必要であればユニークキーを作りましょう。これは必要ならって感じです。社員テーブルの「メールアドレス」等です。
Step3
Step2までがキーの設計でした。Step3では非クラスター化インデックスを設計しましょう。
画面などで検索条件になっていて,クラスター化インデックス,非クラスター化インデックスになっていない物は,作成しましょう。検索条件以外でも「結合条件」「削除条件」「更新条件」なども同じです。
現場でSQLを作成したら,必ず実行プランを確認してください。非クラスター化インデックスを作成したつもりでも「IndexScan」になっていたり,「クラスター化インデックスScan」になったりしている可能性があります。うまくSeekになっているかを確認しながら実装してください。
Step4
付加列インデックスの設計をします。非クラスター化インデックスだけではどうしても速度が出ないときに,Select項目を付加列インデックスとして登録しましょう。速度が出ないときは,付加列インデックスだけでなく,今回の社員テーブルのBikouのように,大きいバイト数の列を別のテーブルを分けるなどで改善する場合もあるので,そのあたりの検討は必要です。
C#を正しい3層構造で造れてますか?
無料動画コース「C#のアーキテクチャー」(80分)をプレゼントしています
#S1_01_はじめに
#S1_02_インデックスとは
#S1_03_インデックスの有無実演
#S1_04_SQLServerのインストール
#S2_01_データベースとテーブルの作成
#S2_02_データの作成
#S2_03_全件検索
#S2_04_キャッシュとは
#S2_05_検索条件ありで検索
#S2_06_テーブルスキャンとは
#S2_07_インデックスの種類
#S2_08_非クラスター化インデックスの作成
#S2_09_非クラスター化インデックスの内部構造
#S2_10_インデックスのない列の検索とインデックスの有効化無効化
#S2_11_クラスター化インデックスの作成
#S2_12_クラスター化インデックスの内部構造
#S2_13_クラスター化インデックスの検索
#S2_14_インデックスの検索補足
#S2_15_付加列インデックス
#S2_16_プライマリキーとユニークキー
#S2_17_インデックス作成手順
#S2_18_インデックスの注意点
おわりに