我想使用system.data.sqlite讀取表中的所有行。由於我有一個非常大的表(> 450GB,具有> 60億行),我想確保sqlite將使用後繼磁盤訪問。正如你可能知道隨機訪問硬盤速度很慢。由於內存重新調整,我無法一次加載所有數據。所以最佳方式是如果sqlite讀取一百MB(連續),然後我使用這些數據和sqlite讀取下一個。sqlite:獲取所有行(連續磁盤訪問)的最快方法
我怎麼能確定sqlite會這樣做磁盤訪問,而不是從硬盤上的一個位置跳到另一個位置?
事情我知道(我認爲這些建議會顯示):
- 它可以更好地使用其他DBMS。但我想/需要解決這個問題。
- 我知道磁盤頭將由OS定位在其他數據上,而我正在處理這些數據。這並不重要。這只是一些hundret MB將連續閱讀。
- 我不想/可拆分數據庫文件成較小的碎片
我發現這個職位,但它沒有正確解決我的問題:
Which is the fastest way to retrieve all items in SQLite?