索引スキャン(インデックススキャン)は、索引(さくいん)情報を使って、条件に該当するデータの場所を特定してから、表にアクセスする方法です。
書籍の巻末にある索引を思い浮かべてみてください。数百ページに及ぶ書籍から特定の情報を効率よく探したい場合には、索引から五十音順やアルファベット順に並んだキーワードを探せば、該当するページが簡単に分かります。
データベースにおける索引スキャンの目的や役割もこれと同じです。
例えば、社員名で検索を行う場合は、あらかじめ社員名の列に索引を作成します。索引では、必要な情報を短時間で見つけ出せるように、キーワードとなる列(ENAME列)の値が順に並べられ、列の値と行の位置情報がひも付けられています(図3)。
「BLAKE」さんの社員データを検索する場合、まず索引にアクセスして、BLAKEさんの行データが「EMP表のどこにあるのか」を割り出します。その後、この情報を基にEMP表にアクセスすることで、「BLAKE」さんの行データへピンポイントにアクセスできます。
このように、索引スキャンは表の一部のデータに効率よくアクセスできる特徴があります。その一方で、表の大部分のデータにアクセスする場合には不向きです。これも書籍の場合と同じです。ほとんどのページを読まなければならない場合は、索引を使わずに全てのページに目を通した方が早く読み終えることができるでしょう。
Copyright © ITmedia, Inc. All Rights Reserved.
Database Expert 鬮ォ�ェ陋滂ソス�ス�コ闕オ譁溷クキ�ケ譎「�ス�ウ驛「�ァ�ス�ュ驛「譎「�ス�ウ驛「�ァ�ス�ー