PRIMARY KEY(col1, col2)
创建一个名为“sqlite_autoindex_mytable_1”的索引。我在“SQlite 专家”中看到了它。在“要索引的字段”框中,它同时显示 col1 和 col2。
在这篇文章中: https ://dba.stackexchange.com/a/14260 它说如果我想在没有 col1 的 JOIN 查询中使用 col2,我必须为 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 索引吗?