[英]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.