[解決済み] なぜインデックス作成時にINCLUDE句を使うのか?
2022-03-21 02:35:54
質問
70-433試験の勉強をしていて、次の2つの方法のいずれかでカバーリング・インデックスを作成できることに気づきました。
CREATE INDEX idx1 ON MyTable (Col1, Col2, Col3)
-- OR --
CREATE INDEX idx1 ON MyTable (Col1) INCLUDE (Col2, Col3)
INCLUDE句は私にとって初めての経験です。 INCLUDE句を使用する理由と、INCLUDE句を使用してカバーリング・インデックスを作成するか、使用しないかを決定する際のガイドラインをお教えください。
どのように解決するのですか?
カラムが
WHERE/JOIN/GROUP BY/ORDER BY
のカラムリストのみである。
SELECT
節は
INCLUDE
.
は
INCLUDE
節は、インデックスツリーではなく最下位/リーフレベルでデータを追加します。
これは、ツリーの一部ではないので、インデックスをより小さくします。
INCLUDE columns
はインデックスのキーカラムではないので、順序付けされない。
つまり、上で述べたように、述語やソートなどにはあまり使えないということです。しかし、それは
かもしれない
キーカラムから数行のルックアップが残っている場合、便利です。
関連
-
[解決済み】SQL Server データベース復元エラー:指定されたキャストは有効ではありません。(SqlManagerUI)
-
[解決済み] 更新時のSqlエラー : UPDATE ステートメントが FOREIGN KEY 制約と競合しています。
-
[解決済み] テーブルが存在しない場合、"Table 'dbo.Foo' already exists." というエラーはどのように解決すればよいですか?
-
[解決済み] 累積和の求め方
-
[解決済み] シンプルに保つ、クエリで複数のCTEを行う方法
-
[解決済み] データベースとスキーマの違い
-
[解決済み] 条件付きJOINステートメント SQL Server
-
[解決済み] SQL ServerでGROUP BYと一緒にDISTINCTを使用する
-
[解決済み] リスト内のアイテムのインデックスを検索する
-
[解決済み] INNER JOINよりもCROSS APPLYを使用すべきなのはどのような場合ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 「ストアドプロシージャが見つかりませんでした
-
[解決済み] 更新時のSqlエラー : UPDATE ステートメントが FOREIGN KEY 制約と競合しています。
-
[解決済み] SQL Serverでシングルクォートを置換する
-
[解決済み] sp_columnsが結果を返さないのはなぜですか?
-
[解決済み] COUNTフィールドが正しくないか、構文エラーです。
-
[解決済み] テーブルが存在しない場合、"Table 'dbo.Foo' already exists." というエラーはどのように解決すればよいですか?
-
[解決済み] SQL Server : ログインに成功しましたが、「データベース [dbName] にアクセスできません。(ObjectExplorer) "と表示されました。
-
[解決済み] SQL ServerのIsNull()関数に相当するOracleは何ですか?
-
[解決済み] クエリでカラムを落とさずにデータ型を変更するには?
-
[解決済み] SQL ServerでGROUP BYと一緒にDISTINCTを使用する