我要加载到SQLite表中的城市,状态对有很多。我将查询城市并知道该州。假设我想寻找一个我知道在德克萨斯州的特定城市。尽管有限制,但以下查询大致为O(n),对吧?
SELECT * FROM cities WHERE state_abbr=? LIMIT 1
是否存在按状态对行进行分组或创建二级索引等的某种方式,以便SQLite知道从何处查找“ TX”行并仅在其中进行搜索?我已经考虑过为每个状态创建单独的表-这是一种选择-但我希望我可以在单个表中做一些事情以提高查询效率。
在我阅读的教程中,创建复合索引后查询不会更改。 SQLite只是在同一查询下使用索引吗?