執行SQLite查詢時,返回的數據集的大小是否會影響查詢所花費的時間?讓我們假設這個問題,我實際上並沒有訪問結果中的任何數據,我只想知道查詢本身是否需要更長的時間。讓我們也假設我只是簡單地選擇所有的行並且沒有WHERE或ORDER BY子句。返回大型結果集的SQLite查詢需要更多時間嗎?
例如,如果我有兩個表A和B.讓說表A有一百萬行和表B有10行,並且這兩個表具有相同的數量和類型的列。選擇表A中的所有行需要比選擇表B中的所有行花費更長的時間?我的問題How does a cursor refer to deleted rows?。我在猜測,如果在查詢期間SQLite創建了數據副本,那麼返回大型數據集的查詢可能需要更長的時間,除非只有在db中的數據發生更改時才複製查詢結果數據的優化而查詢仍然存在?
我已經闡明瞭我的問題,我只關注從單個表中選擇所有行的情況,沒有WHERE,ORDER BY,LIMIT或JOIN子句。 – satur9nine 2012-04-25 17:20:52
好的。我會說答案是一樣的。在表A中運行更多行需要更長的時間。索引可能會使這一步消失。如果你選擇全部,我會預期這些行會以IO(加上開銷)允許的速度出現。更多數據以相同的速率將需要更長時間。 – XTL 2012-04-26 07:00:15