[過去ログ] スレ立てるまでもない質問はここで 165匹目 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
310: (ワッチョイ 7716-pmcO) 2023/12/10(日)11:57 ID:PVGCDu/Y0(1/2) AAS
はい、2つ以上のカラムにまとめてindexを作成すると、それらのカラムを組み合わせて検索条件を指定する場合だけでなく、個々のカラムに対する検索条件も高速化されます。具体的には、次のような場合にも高速化が期待されます。

1. `where a=値1` の場合: もし `(a, b)` の複合インデックスがあるなら、この条件も高速に検索できます。

2. `where b=値2` の場合: 同様に、`(a, b)` の複合インデックスがあるなら、この条件も高速に検索できます。

これは複合インデックスがB-Treeなどの構造を持ち、検索がその構造を活かして行われるためです。複合インデックスが使えると、各カラムに対する条件検索も高速に行えます。
311: (ワッチョイ 7716-pmcO) 2023/12/10(日)11:58 ID:PVGCDu/Y0(2/2) AAS
なぜbだけの条件でも高速されるのか説明します。

複合インデックスが `(a, b)` の形をしている場合、このインデックスはB-Treeなどのデータ構造を持ち、最初のカラム `a` によってソートされています。このようなインデックスがあると、`where b=値2` という条件も高速化されます。

原因はB-Treeの特性にあります。B-Treeは最初のカラムに基づいてツリーを構築し、各ノードはそのカラムの値でソートされています。したがって、`where b=値2` のクエリでも、インデックスを利用して B-Tree の探索を効率的に行えるのです。

ただし、この場合でも、`a` に関する条件が `where a=値1` と組み合わさると、最初のカラムが条件になっているため、より効果的にインデックスが使用されることが期待されます。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.378s*