インデックスって何?おいしいの??

データベースの話になるとインデックスってワードが出てくるけど、なんかよくわかんないからググってみた。

簡単に言うと検索に適した状態のものを用意してくれる目次ってことらしい。


そのインデックスのアルゴリズムは様々でB-treeと関数方式とかいろいろあるらしい。


インデックスをしなかった場合、すべてのデータを総なめして対象のものを算出するらしいけど、インデックスを貼っておけば、その対象を狭めることが出来るってことらしい。

例えば辞書とかの例で言うと、「雪(雪に深い意味はないが季節だしと言う理由で)」っていう言葉を国語辞典で調べたい時どうやって調べるだろうか?

「ゆ」っていう言葉から始まるのはこのページからですって目次があれば1ページ目から見つかるまで探す必要はない。
国語辞典とかはあいうえお順に並んでるから目次が無くても順番に並んでいるっていうことを知っていれば探すのはそんな大変ではないが、これがあいうえお順に並んでなかったとしたら…

インデックスの概念はわかったので今度はインデックスのアルゴリズムを調べてみようと思った。アルゴリズムをみんな知ってるのかな??

でもインデックスをはりすぎる?のも良くないらしい。と言うのもインデックスは用は検索に適したデータを新たに作り保存するので単純にデータ量は増える。
なんで適切なインデックスは大丈夫なんだね!