我想使用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?