我编写了一个python程序,它处理大量文本并将数据放入其多级字典中。结果,字典变得非常大(2GB或更高),占用内存,并导致缓慢/内存错误。
所以我想使用sqlite3而不是将数据放在python dict中。
但是考虑到这一点,在整个程序运行过程中,必须能够访问sqlite3中的整个数据库。所以最后,不会导致大内核吃掉内存的结果相同吗?
抱歉,我对记忆的理解有点笨拙。在我打算将我的程序移植到使用db之前,我想清楚地说清楚。
提前谢谢。
答案 0 :(得分:1)
SQLite根据需要创建temporary files来存储尚未提交到数据库的数据。即使in-memory databases也会这样做。
因此,当存储在SQLite数据库中时,2GB的数据不会耗尽所有内存。