【发布时间】:2020-03-15 19:15:08
【问题描述】:
我有一个包含超过 2000 万行的庞大数据库。我可以导出整个数据库(这需要几个小时),但是当我尝试使用 python (pandas) 过滤数据时,pycharm 失败(由于内存问题)。
例如,有没有办法以 200 万行为单位批量导出数据库?导出 2mil,然后是其他 2mil,最后有 10 个 200 万行的文件?这样我就可以使用 python (pandas) 过滤每个文件,并且不会有内存问题。
谢谢!
【问题讨论】:
-
在 Postgres 中完成工作,而不是在 Python 中。
-
如果你能给出你的数据库的一些示例模式来估计每行的大小,那就太好了。
-
平均记录量是多少?
-
这似乎相当广泛,请参阅help center 和How to Ask。你做过研究吗?
-
我尝试在 Postgres 中完成这项工作,但它占用了我 20gb 以上的内存,如果我执行任何 SQL,它最终会崩溃。这就是为什么我只导出整个数据库。我对数据库一无所知,使用简单的 SQL 条件示例:SELECT * FROM mainDB where (random column) > 5 有更好的方法吗?
标签: python sql database postgresql csv