我有2张桌子:
tblValidItems – | – tblItems
validID itemID ------- ------ 3 1 5 2 6 3 ... 4 ~ 8 K items 5 ..... ~ 20 K items
我的查询是选择tblItems中同样位于tblValidItems中的某些东西:
SELECT tblItems.itemID FROM tblItems JOIN tblValidItems ON tblItems.itemID = tblValidItems.validID
我在两个表上都尝试了带有和没有索引的查询,但结果变化很小:
>两个表都有索引 – 127ms
>两个表都没有索引 – 132ms
这让我感到惊讶,因为我认为索引会显着影响此查询的速度.为什么不呢?
解决方法
默认情况下会为sqlite主键编制索引.无论如何,您正在加入索引的主键.
如果您对sqlite如何处理查询有疑问,请使用EXPLAIN QUERY PLAN