[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

インデックススキャン (index scan)

pointこの用語のポイント

pointデータベースの検索のやり方だよ

point事前にインデックス(索引)を作っておくよ

pointインデックスを元にしてデータを探すよ

スポンサーリンク

簡単に書くよ

インデックススキャン (index scan)とは

データベースからデータを検索する際のやり方の一つで、事前に索引を作成しておいて、その索引を元にして条件に一致するデータを探すやり方
です。

image piyo

詳しく書くよ

※このページに記載されている内容は「シーケンシャルスキャン」のページで説明した内容と、ほとんど同じです。既に「シーケンシャルスキャン」の説明をご覧になった方は、読んでもあまり意味は無いと思います。

例えばここに、ミカンとリンゴとイチゴとナスとピヨ太君があったとしましょう。

インデックススキャン

これが全部、一つの箱に入っています。

インデックススキャン2

箱に入れた段階で、名札を作ってそれを糸でつないでおきます。
例えばミカンであれば「ミカン」と書いた名札を用意して、それを糸で実際のミカンにつないでおくのです。
リンゴであれば「リンゴ」と書いた名札を実際のリンゴにつないでおきます。
その他の物も同様です。

インデックススキャン3

そして、名札は名札で寄せ集めて、それを分かりやすいように分類しておきます。
例えば、ミカンの名札とリンゴの名札とイチゴの名札を集めて「果物」カテゴリ、ナスは単独で「野菜」カテゴリ、ピヨ太君は単独で「ぼへぼへ」カテゴリと分類したとしましょう。

インデックススキャン4

この、分かりやすいように分類した名札を「インデックス」と言います。
使い方は、本の索引と同じです。

おっと、ピヨ子さんがやってきました。
ピヨ子さんは、イチゴを食べたいようです。

インデックススキャン5

イチゴが食べたいピヨ子さんは、まず名札のところでイチゴを探します。
もう少し細かく書くと、名札のところの「果物」カテゴリの中からイチゴを探します。

インデックススキャン6

イチゴは果物ですからね。
「野菜」カテゴリと「ぼへぼへ」カテゴリの中にイチゴはあるわけないので、最初から見ません。

インデックススキャン7

つまり、この時点で「野菜」カテゴリに分類される物と「ぼへぼへ」カテゴリに分類される物は調べる対象外になったわけです。
おぉ、少しだけ探すのが楽になりましたね。

さて、ピヨ子さんは「イチゴ」と書かれた名札を見つけました。

インデックススキャン8

「果物」カテゴリの中に、どうやらイチゴは一つしかないようです。
それでは、イチゴを持って帰りましょう。

あとは簡単です。
「イチゴ」と書かれた名札を思い切り引っ張れば良いのです。
そうすると、名札と糸でつながっている本物のイチゴがゲットできます。

インデックススキャン9

このように、まずはインデックスから探すことによって検索の負担を軽減するやり方が「インデックススキャン」です。

箱をデータベース、中に入っているミカンやリンゴなどをデータ、ピヨ子さんがやっていることをデータベースの検索だと思ってください。
データーベース内のデータを直接探すのではなく、まずはインデックスから条件に一致するデータを選び出します。
その後、改めてデータ本体を取り出す検索のやり方が「インデックススキャン」です。

上手くイメージできない人は、辞書を使って調べ物をする様子を思い浮かべてください。
辞書を引くときは、まず索引から目的となる用語のページ番号を探し出し、それから目的の用語が載っているページを見ますよね。

インデックススキャンのやり方は、それと同じです。
まずはインデックスから条件に合うデータの置いてある場所を探しだし、それから実際のデータを取り出します。
あらかじめ探しやすいように分類されているインデックスから探すことで、検索の負担を軽減することができるやり方です。

これでインデックススキャンの説明は終わりですが、せっかくなので「シーケンシャルスキャン」についても説明しておきますね。
お時間に余裕のある人は、このまま読み進めてください。
お忙しい人は、ここまで読めば十分です。
インデックススキャンの説明は終わりました。

シーケンシャルスキャンは、インデックススキャンよりも原始的なやり方です。

例えばここに、ミカンとリンゴとイチゴとナスとピヨ太君があったとしましょう。

インデックススキャン10

これが全部、一つの箱に入っています。

インデックススキャン11

ここまではインデックススキャンと同じですね。
ここからが違います。

シーケンシャルスキャンにおいては、インデックスを作ったりといった前準備をしません。
力技の出たとこ勝負です。

おっと、そんな話をしていたら、ピヨ子さんがやってきましたね。

インデックススキャン12

ピヨ子さんは、イチゴが食べたいようです。
そこで、箱の中からイチゴを探して食べることにしました。

インデックススキャン13

ピヨ子さんは、一体どうやって箱の中からイチゴを探すつもりでしょうか。

おおっと!
なんと、ピヨ子さんは一番原始的な方法を取ることにしたようです。

取りあえず、箱の中に手を突っ込んで、一つ取り出しました。
そして、それがイチゴかどうかを確認します。

インデックススキャン14

残念、これはミカンです。
ミカンはミカンで美味しいですが、今日はミカンを食べる気分ではありません。
ピヨ子さんはミカンを脇にどけました。

インデックススキャン15

気を取り直してもう一度、今度出てきたのはリンゴでした。

インデックススキャン16

リンゴも美味しいことは美味しいですが、今日はリンゴの気分ではありません。
リンゴも脇にどけました。

インデックススキャン17

今度こそ!と取り出しました。

インデックススキャン18

ピヨ子さん、おめでとう。
ついにイチゴを取り出せました。

インデックススキャン19

これでピヨ子さんのイチゴ探しの旅は終わり……では、ありません。
イチゴが一つしか入っていないとは限らないからです。

まだイチゴが残っているかもしれませんからね。
ピヨ子さんは、再度箱に手を突っ込んで一つ取り出します。

インデックススキャン20

このように、箱が空になるまで順番に一つずつ取り出してイチゴかどうか確認するやり方が、シーケンシャルスキャンです。
地道に一個ずつ確認していくやり方ですね。

せっかくなので、インデックススキャンとシーケンシャルスキャンは、セットで覚えてあげてください。

image piyo2

一言でまとめるよ

まぁ「インデックススキャン」って単語が出てきたら「事前に作成した索引を元にしてデータを探す検索のやり方なんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク