【SQL Server】Index Seek, Index Scan, Table Scanを簡単に解説

  • 2021.05.07
  • SQL
【SQL Server】Index Seek, Index Scan, Table Scanを簡単に解説

はじめに

コジマです。

Index Seek, Index Scan, Table Scanについて簡単にまとめてみました。

Index Seek

Bツリー走査を行います。
計算量は二部探索と同じO(logn)となります。

Index Scan

インデックスを上から順に探索します。
計算量は線形でO(n)です。

Table Scan

テーブルの全行、全列を順に探索します。
テーブルの構造にもよりますが一番重いです。

速さ

以下の順です。

遅い >>>>>>>>>>> 速い
Table Scan > Index Scan > Index Seek

さいごに

参考サイトは以下です。
https://use-the-index-luke.com/ja/sql/explain-plan/sql-server/operations
https://www.atmarkit.co.jp/ait/articles/1202/23/news132_2.html

もっと詳しく書いている記事はたくさんありますが、ポイントを押さえておけるように簡単に書きました。

ポイント

  • (遅)Table Scan > Index Scan > Index Seek(速)の速度順だよ
  • Seekは木構造を読むから速いよ。Scanは上から読むから遅いよ。
  • なるべくIndex Seekになるようにしよう

この記事を面白いまたは役に立ったと思ってくれた方は是非私のTwitter(@kojimanotech)を
フォローしてくれたらうれしいです!

システムエンジニアのつらい部分のあるあるなんかをエンタメにしたチャンネルを作りました。
チャンネルはこちら
つらい部分も楽しくなればと思っているのでよかったらチャンネル登録や高評価してくれたらうれしいです。

以上、コジマでした。


SQLカテゴリの最新記事