我試圖從包含幾百萬行的SQLite表中檢索一些最常出現的值。如何優化大多數發生值的檢索(數億行)
查詢到目前爲止可能是這樣的:
SELECT value, COUNT(value) AS count FROM table GROUP BY value ORDER BY count DESC LIMIT 10
上有value
領域的指數。
但是,使用ORDER BY子句,查詢需要很多時間,我從未見過它的結尾。
可以做些什麼來大幅度改善如此大量數據的查詢?
我試圖添加一個HAVING子句(例如:HAVING count> 100000)來降低要排序的行數,但沒有成功。請注意,我並不在乎插入所需的時間(它仍然需要合理,但是優先考慮選擇),所以我打開了解決方案,建議在插入時計算。 ..
由於提前,
Java在哪裏起作用? – Thomas
爲了防止解決方案包含後處理/預處理,這是我用來與db進行交互的語言。 – Sylvain
你正在使用什麼類型的應用程序? –