Looking for sql Answers? Try Ask4KnowledgeBase
Looking for sql Keywords? Try Ask4Keywords

SQLインデックス


前書き

索引は、データベースの問合せを最適化するために、特定の順序で配置された表の内容へのポインタを含むデータ構造です。それらはブックの索引に似ています。ここでは、ページ(表の行)はページ番号で索引付けされています。

いくつかのタイプの索引が存在し、表に作成することができます。クエリのWHERE句、JOIN句、またはORDER BY句で使用される列にインデックスが存在する場合、クエリのパフォーマンスが大幅に向上します。

備考

索引は、列に基づいて表の行をソートすることによって読取り照会を高速化する方法です。

例のような小さなデータベースでは、索引の効果は目に見えませんが、行数が多いとパフォーマンスが大幅に向上します。テーブルのすべての行をチェックする代わりに、サーバーはインデックスに対してバイナリ検索を実行できます。

インデックスを作成する際のトレードオフは、書き込み速度とデータベースサイズです。インデックスを格納するにはスペースが必要です。また、INSERTが完了するか列が更新されるたびに、索引を更新する必要があります。これは、SELECTクエリでテーブル全体をスキャンするのと同じくらい高価な操作ではありませんが、それはまだ留意しておくべきことです。

インデックス 関連する例