python sqlite - 数据库加载到内存(RAM)?

时间:2013-09-02 19:02:02

标签: python sqlite ram

我正在考虑在python中使用sqlite3库来进行一些数据存储。避免将太多数据加载到内存中对我来说很重要 - 可能存在大量(10+)千兆字节的数据,我希望能够以这样的方式访问它,即数据不会一次性加载到RAM中。 sqlite3会为我做到这一点吗?我正在考虑以下代码:

import sqlite3
conn = sqlite3.connect('example.db')

c = conn.cursor()

c.execute('''SELECT * FROM table1''')

var = c.fetchall()

假设example.db占用14 gb,table1占用1 gb。将多少数据加载到RAM中?

1 个答案:

答案 0 :(得分:3)

你几乎肯定不想使用fetchall()将整个表加载到RAM中,加上需要的内务管理,所以“超过1 GB”就是答案你的问题。请改用fetchone()