索引 (インデックス) はなぜ速いのか
SQL入門 / 全 4 枚
SQL入門
索引 (インデックス) はなぜ速いのか
1 / 4
索引は全部めくらずに飛ぶ
索引が無いと、データベースは先頭から順に読み、最悪は全行を読みます。索引は本の巻末の索引と同じで、読む場所へ直接飛べるようにする仕組みです。
SELECT * FROM users
WHERE email = 'a@example.com'
この列に索引を張る
1件を狙い撃つ
調べる回数
| 行数 | 索引なし | 索引あり |
|---|---|---|
| 100 | 100 | 7 |
| 10,000 | 10,000 | 14 |
| 1,000,000 | 1,000,000 | 20 |
行数が1万倍になっても、索引ありは3倍にしかなりません。
この差は行数が増えるほど開きます。100行では体感できないので、小さい表で試すと効果が分かりません。
← → キーでも送れます