Мне нужно найти все идентификаторы, которые есть в одной таблице, но не в другой.
У меня есть простой выбор:
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
.
Любое предложение о том, как яможет ускорить этот запрос?
У меня ~ 200000 записей в table1
и ~ 2 миллиона записей в table2
, выполнение запроса занимает около 500 мс.
Что может быть причинойзапрос выполняется так медленно, какие-либо предложения о том, как я могу ускорить его?