PRIMARY KEY(col1, col2)
sqlite中的複合主鍵
創建一個名爲「sqlite_autoindex_mytable_1」的索引。我在「SQlite Expert」中看到它。在「字段索引」框中,它顯示col1和col2。
在這篇文章中: https://dba.stackexchange.com/a/14260 它說我必須爲col2創建單獨的索引,如果我想在沒有col1的JOIN查詢中使用col2。
所以我需要添加:
CREATE INDEX "myidx" ON "mytable"("col2");
如果我有這個疑問:
SELECT t2.* FROM mytable as t1
INNER JOIN mytable2 as t2 ON t1.col2 = t2.id
我仍然需要一個COL2指數?我沒有在其中使用col1
。
並且怎麼樣這個查詢:
SELECT t2.* FROM mytable as t1
INNER JOIN mytable2 as t2 ON t1.col2 = t2.id WHERE t1.col1 = x
這裏我使用COL1,但where子句。它是否仍然需要col2索引?
您沒有回答索引是否需要。至少提到[EXPLAIN QUERY PLAN](http://www.sqlite.org/eqp.html)。 –
@CL。更好地查詢,我也不確定!你能寫出自己的答案嗎? –