データベースについて色々と調べています。
今回はデータベースの検索をはやくするための技術として、インデックスというものがあるので、それについてざっくりとまとめておきます。
データベースのインデックスについて
インデックスとは
私なりにざっくりとインデックスについて解説すると、「大きな辞書の後ろについている索引みたいなもので、あるデータを検索するときは索引から検索すると効率的に探せる」という方法のことです。
例えば辞書で「あお」という言葉を探すときのことを考えます。辞書はアイウエオ順に記載されていることがわかっているので、まず「あ行」のところを開いて、次の言葉もアイウエオ順に探していきますよね。
しかしもしその辞書がアイウエオ順に記載されていない場合はどうやって探して行くのがいいでしょうか。
当然全ての言葉を一番最初から探して行って「あお」をピックアップしてくることもできます。しかし全部のページを検索することになるので、かなり時間がかかってしまいますよね。
そんなときに索引を作っておくと便利です。索引では必要な単語、あとはそのページ数だけを記載しておきます。また探しやすいように、文字の掲載の順番を決めておきます。例えばアイウエオ順でもいいですし、文字数順でもなんでもいいです。
こうすることで、データを効率的に探すことができるようになります。
つまりデータの集まりのほかに、索引用のデータを作って、それを参照するようにするということですね。