さがすのを はやく、インデックス
あつい ほんで ひとつの ことばを さがすと しましょう。さいしょの ページから さいごまで ぜんぶ よむと とても じかんが かかります。だから ほんの うしろには さくいんが あります。ことばと ページばんごうが かいてあり、その ページに すぐ ジャンプできます。データベースも おなじです。データが おおくなると さいしょから ぜんぶ みるのは おそすぎるので、インデックスという さくいんを まえもって つくります。
ほんの うしろには さくいんが あります
まえに データベースが
ほしい ぎょうを どう さがすか みました。
でも データが とても おおいと
さいしょから さいごまで みるのは おそい。
あつい ほんで ひとつの ことばを
さいしょの ページから さがすのと おなじです。
だから ほんの うしろには さくいんが あります。
ことばの よこに ページばんごうが かいてあり
その ページに すぐ ジャンプできます。
ほんぶんを さいしょから みるのと さくいんで ジャンプするのを おして くらべてみて。なんかいで みつかる?
さくいんで ジャンプすると
ずっと すくない かいすうで みつかりました。
データベースの インデックスも
まさに この さくいんです。
データを はやく さがせるよう
まえもって つくった ちずなのです。
でも さくいんにも しゅるいが あります。
せいかくな あたいを さがすときと
はんいを さがすときが ちがうのです。
せいかくな あたいには ハッシュ インデックス
「キム」のように
たった ひとつの せいかくな あたいを さがしたいときが あります。
そんなときは ハッシュ インデックスが いい。
ハッシュは なまえを うけとり
すぐに ばしょばんごうを けいさんします。
だから ずらりと みる ひつようなく
その ばしょへ いっぱつで ジャンプします。
ロッカーばんごうを おぼえておいて
その とびらを あけるのと おなじです。
なまえを おすと ハッシュが ばしょばんごうを けいさんして その ますへ いっぱつで ジャンプします。
なまえ ひとつで すぐに
ばしょを みつけました。
ハッシュ インデックスは こんなに
せいかくな あたい さがしが はやい。
でも よわい てんが あります。
ハッシュは あたいを ちらばらせるので
「20さいから 30さいまで」のように
はんいで さがすのは にがてです。
そんなときは べつの インデックスが ひつよう。
はんいには ツリー インデックス
「20さいから 30さいまで」のように
はんいで さがしたいときが あります。
そんなときは ツリー インデックスが いい。
ツリー インデックスは あたいを
ちいさい ものから 大きい ものまで ならべます。
だから はじまりの あたいを みつければ
その よこへ ずっと つづけて
はんいの あたいを じゅんに みていけます。
じしょが あいうえおじゅんなのと にています。
さがす はんいを おして きめて。ならんだ ツリー インデックスが はじまりの あたいを みつけて はんいを ずっと みます。
ならんでいるので
はんいが よこへ ずっと つづきました。
ハッシュは いってんを さがし、
ツリーは いちれつで ずっと みます。
だから なにを よく さがすかで
あう インデックスが ちがいます。
せいかくな あたいが おおければ ハッシュ、
はんいが おおければ ツリー。
でも インデックスは ただ ではない。
インデックスは ただ ではない
インデックスは いいことばかりでは ありません。
ひとつめ、ばしょを よけいに とります。
さくいんを べつに かいておくので
その ぶん くうかんが よけいに いります。
ふたつめ、データが かわると
インデックスも いっしょに なおします。
あたらしい ぎょうを いれたり けすと
さくいんも こうしんしないと あいません。
だから むやみに たくさん つくると そんです。
ぎょうを いれたり けしてみて。データが かわる たびに インデックスも こうしんされ、つかう ばしょも ふえます。
データを かえる たびに
インデックスも ついて うごきました。
ばしょも だんだん よけいに とりました。
だから インデックスは
よく さがす あたいだけ えらんで つくります。
はやくなる とくと
くうかんと こうしんという コストを
てんびんに かけるのです。
うまく えらべば さがすのが ずっと はやくなります。
まとめて みましょう
ひとことに まとめると こうです。
インデックスは ほんの うしろの さくいんのように
はやく ジャンプさせてくれる ちずです。
ハッシュ インデックスは せいかくな あたい ひとつを
いっぱつで さがし、
ツリー インデックスは ならんでいるので
はんいを みるのに むいています。
ただし ばしょを よけいに つかい
データが かわると こうしんが ひつようです。
かなめを じゅんに おして ふりかえって。(ほんの さくいん → せいかくな あたいは ハッシュ → はんいは ツリー → ただ ではない)
これで インデックスが どう
さがすのを はやく するか わかりました。
データを はやく さがす ほうを みたので
つぎは データを あんぜんに
あつかう はなしへ いきます。
おおぜいが おなじ データを
いちどに さわると どうなる?
その むずかしい もんだいを
つぎの かいで いっしょに といてみよう。