我在使用SQLite查詢時遇到了一些嚴重的性能問題。目前在表activity_tbl以及表activity_data_tbl中大約有20000個條目。我在下面的查詢中使用了兩個列的索引,但它對性能沒有任何影響。SQLite - 選擇表達式非常慢
SELECT a._id, a.start_time + b.length AS time
FROM activity_tbl a INNER JOIN activity_data_tbl b
ON a.activity_data_id = b._data_id
WHERE time > ?
ORDER BY 2
LIMIT 1
正如您所看到的,我選擇了一列和通過將兩列一起添加創建的值。我想這是造成低性能的原因,因爲如果我選擇a.start_time或b.length,查詢速度非常快。
你們有什麼建議可以優化這個嗎?
您可以發佈具有索引架構('.s')? – netcoder 2012-04-04 15:35:17
兩條評論:不要通過更改標題來標記回答的問題,而應在下面的答案旁邊勾選複選標記(如果答案是您自己的答案,您可以回答自己的問題並將答案標記爲正確)。此外,過濾一個小的開始時間可能不會(取決於您的數據的「形狀」)爲您的原始查詢提供相同的結果。 – 2012-04-05 11:24:58