私はDBD :: SQLiteをメモリデータベースに使用しています。テーブルの次のインデックスを定義しました。SQLite3では、このselect文は2つのインデックスの恩恵を受けるでしょうか?
CREATE INDEX x ON ss (a, b);
CREATE INDEX y ON ss (c, d, e, o);
次のselectステートメントは、これら2つのインデックスを使用しますか?
SELECT f, g
FROM ss
WHERE a = ? AND b = ? AND c = ? AND d = ? AND e = ?
そして、where句の列に対してのみインデックスを作成する必要がありますか?
最小限のINDEXでさらにSELECTを実行したいからです。
SELECT f, g FROM ss WHERE o = ?
SELECT f, g FROM ss WHERE a = ? AND b = ?
SELECT f, g FROM ss WHERE c = ? AND d = ? AND e = ?
SELECT f, g FROM ss WHERE c = ? AND d = ? AND o = ?
SELECT f, g FROM ss WHERE a = ? AND b = ? AND c = ? AND d = ? AND e = ?
申し訳ありません、あなたのリンクは有効ではありません。 – Juergen
リンクはhttp://sqlite.org/lang_explain.htmlです。エスケープマジックで壊れているようです。 – wierob
はい、本当の魔法;-)ありがとう! – Juergen