索引 (インデックス) はなぜ速いのか

SQL入門 / 全 4

SQL入門

索引 (インデックス) はなぜ速いのか

1 / 4

索引は全部めくらずに飛ぶ

索引が無いと、データベースは先頭から順に読み、最悪は全行を読みます。索引は本の巻末の索引と同じで、読む場所へ直接飛べるようにする仕組みです。

SELECT * FROM users
WHERE email = 'a@example.com'
この列に索引を張る
1件を狙い撃つ

調べる回数

行数索引なし索引あり
1001007
10,00010,00014
1,000,0001,000,00020

行数が1万倍になっても、索引ありは3倍にしかなりません。

この差は行数が増えるほど開きます。100行では体感できないので、小さい表で試すと効果が分かりません。

このスライドが付いているレッスンを開く