Ads by Google
新しい記事を書く事で広告が消せます。
sqlite の LIKE 演算でインデックスを使う方法
sqliteのLIKE演算でインデックスを使う方法 ― ありえるえりあ
sqliteで、次の条件を満たしたselectでインデックスが使われていませんでした(explainで確認)。
- インデックスを張ったカラム
- LIKE '/foo/bar/%'のように%が最後
次のページにsqliteがLIKE演算子に対しインデックスを使う条件が書いてありました。
case-sensitive=OFFの時、sqliteは上記のようなLIKE演算に対して、インデックスを使ってくれません。
張ったインデックスの collating sequence は何でしょうか?どこでも何も指定しなければデフォルトの BINARY ですが、case-insensitive な演算に使うためには NOCASE でないといけません。

