SQLiteのインデックス
普段SQLiteに触れる際はFireFoxのプラグイン「SQLite Manager」を使っている。以前はウェブベースで操作できる「SQLiteManager」(って同じ名前かよ)を使っていた。理由はSQLite2を取り扱うことができたから。あと、仕事で使ってみて、実際に稼動させてしまった環境で使うのに、ダウンロードやら何やらしている間にデータの欠損ができると嫌だったのでダイレクトに処理できるウェブベースな環境がよかったのだが・・・。今となってはSQLiteで納品する可能性はかなり低いし、PHP5な環境が一般的になりSQLite3だけ対応できていればいい。そしてローカルな環境でさえ動けばいい。そういう理由でプラグイン版を使用している。
でもSQLiteを使いこなすにはまだまだ初心者なのでいろいろとわからないことが多い(いや、SQLiteに限らずPHPもデータベース全般に対してもまだまだひよっこであるのだが)。SQLiteのインデックスのことがよくわからない。というかこれってFireFoxのプラグインの機能でインデックスを作成しようとするのが悪いのか(特殊なのか)、いったいどうすればよいのやら。
通常インデックスって「CREATE INDEX …」の構文で作成すればよいはず。ウェブで調べてもSQLiteも同様の書式で作成できると書いてある。実際にそのコマンドでインデックスができることも確認している。
FireFoxのプラグインで作ろうとすると、使用カラムを選択する際に「Ascending」か「Descending」を選ぶことになっている。この意味がわからない。並べ替えのために同じカラムに対して二つのインデックスを作成しなくてはいけないのか、それともまた別の意味なのか。
実際のところ、最大でも1000件くらいのデータしか投入しない予定なので、それほど問題にはならないのだが、イマイチすっきりしない。暇ができたら調べてみようと思うのだが・・・。