[英]Why does an SQLite index not speed up my query
我有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
我在两个表上都尝试了带有和没有索引的查询,但结果变化很小:
这让我感到惊讶,因为我认为索引会显着影响此查询的速度。 为什么不呢?
我猜测查询主要是返回8,000个值而不是查找行的时间。
当您减小正在使用的数据的大小时,索引最有用。 从20k行减少到8k并不是特别重要。
默认情况下会为Sqlite主键编制索引。 无论如何,您正在加入索引的主键。
每当您对sqlite如何处理查询有疑问时,请使用EXPLAIN QUERY PLAN
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.