我正在开发一个应用程序,并考虑使用SQLite。
我的应用程序必须读取(不写入)大量数据,通常在4-5GB范围内。
所以,如果有人做到以下几点:
SELECT * FROM MASSAVETABLE;
SQLite能否处理这个大型查询?更具体地说,它是否能够管理查询的内存使用情况?现在大多数机器只有4GB RAM。
答案 0 :(得分:3)
数据库不会立即将整个结果集读入内存。您的应用程序必须进行编码以避免这种情况。那是游标的用途。
答案 1 :(得分:2)
它会将所有内容加载到您的流程中'记忆,正确。
您的操作系统会根据需要将内存分页和内存,但如果这是一个32位进程,或者在没有页面交换的嵌入式平台上,则程序将因内存不足错误而崩溃。
你真的需要记忆中的一切吗?