我需要找到一个表中的所有ID,而不是另一个表中的
。我的简单选择是:
SELECT ID
FROM Table1
WHERE ID NOT IN (SELECT id FROM Table2)
但是如果我做EXPLAIN QUERY PLAN
,我会得到
"0"|"0"|"0"|"SCAN TABLE Table1"
"0"|"0"|"0"|"USING INDEX index_Table2_id FOR IN-OPERATOR"
我的两个表都将id
定义为id integer PRIMARY KEY
(对于table1
)和table2
的普通索引。
关于如何加快查询速度的任何建议?
我在table1
中有约200000条记录,在table2
中有约200万条记录,查询运行大约需要500毫秒。
是什么原因导致查询运行如此缓慢,关于如何加快查询速度的任何建议?
答案 0 :(得分:0)
您可以将LEFT JOIN
与WHERE
的{{1}}子句一起使用:
table2.ID IS NULL
我相信这样会更快。