为什么SQLite索引不会加快我的查询速度

Rob*_*ert 4 sql sqlite

我有2张桌子:

tblValidItems - | - tblItems

validID        itemID
-------        ------
3              1
5              2
6              3
...            4
~ 8 K items    5
               ..... 
               ~ 20 K items
Run Code Online (Sandbox Code Playgroud)

我的查询是选择在某些事情tblItems,同时也是在tblValidItems:

SELECT tblItems.itemID FROM tblItems 
JOIN tblValidItems ON tblItems.itemID = tblValidItems.validID
Run Code Online (Sandbox Code Playgroud)

我在两个表上都尝试了带有和没有索引的查询,但结果变化很小:

  • 两个表都有索引 - 127ms
  • 两个表都没有索引 - 132ms

这让我感到惊讶,因为我认为索引会显着影响此查询的速度.为什么不呢?

Gor*_*off 5

我猜测查询主要是返回8,000个值而不是查找行的时间.

当您减小正在使用的数据的大小时,索引最有用.从20k行减少到8k并不是特别重要.