このインデックスは id カラムと name カラムの値だけを保持し、name カラムの値を昇順に並び替えてデータを保存しています。name カラムの値を検索する時に、元のテーブルを検索するよりもデータ量が少なくまた並び替えも行われているので高速に検索することができます。 ではどうやって高速に検索できるようにしているのかについてですが、Wikipediaのインデックスのページを見ても B-Tree 方式や関数方式など色々方法があるようです。そして SQLite ではどのような方式を採用しているのかは分かりませんでした。 インデックスを作成することでテーブルとは別に検索用に最適化された状態で必要なデータだけがテーブルとは別に保存されるということを覚えておいて下さい。 インデックスのメリットデメリット インデックスを作成しておくと便利ではありますがメリットだけではありません。テーブルとは別にデ
![インデックスの意味とメリット・デメリット](https://cdn-ak-scissors.b.st-hatena.com/image/square/277858fa3fd83b599f86ac9cf216f9d5753833c8/height=288;version=1;width=512/https%3A%2F%2Fwww.javadrive.jp%2Fsqlite%2Findex%2Fimg%2Fp1-0.png)