У меня большой набор пар городов и штатов, которые я загружаю в таблицу SQLite. Я буду опрашивать город и буду знать государство. Предположим, я хочу найти конкретный город, который, как я знаю, находится в Техасе. Следующий запрос примерно O (n), несмотря на ограничение, верно?
SELECT * FROM cities WHERE state_abbr=? LIMIT 1
Есть ли какой-нибудь способ группировки строк по состоянию или создания вторичного индекса или чего-то такого, чтобы SQLite знал, где найти«TX» строки и поиск только внутри них? Я рассмотрел возможность создания отдельных таблиц для каждого состояния - и это вариант - но я надеюсь, что смогу просто сделать что-то в этой единственной таблице, чтобы сделать запросы более эффективными.
В учебниках, которые я 'После прочтения, запрос не изменяется после создания составного индекса. SQLite просто использует индекс под капотом для того же запроса?