Это скрыто в синтаксических диаграммах для SELECT , но есть способ - использовать NOT INDEXED
с именем таблицы в предложении FROM
:
sqlite> CREATE TABLE foo(bar);
sqlite> CREATE INDEX foo_idx ON foo(bar);
sqlite> EXPLAIN QUERY PLAN SELECT * FROM foo WHERE bar = ?;
QUERY PLAN
`--SEARCH TABLE foo USING COVERING INDEX foo_idx (bar=?)
sqlite> EXPLAIN QUERY PLAN SELECT * FROM foo NOT INDEXED WHERE bar = ?;
QUERY PLAN
`--SCAN TABLE foo
Как выКак видите, первый запрос использует индекс, а второй - нет.
Как читать вывод EXPLAIN QUERY PLAN .