gpt4 book ai didi

python - 使用 Python/PyGreSQL,如何有效处理大型结果集?

转载 作者:行者123 更新时间:2023-11-28 22:04:17 25 4
gpt4 key购买 nike

我有一个约 900 万行的查询结果集。

我需要对每一行做一些处理,目前的代码是这样做的:

query = conn.query(sql)
results = query.getresult()

for row in results:
# blah

我不确定,但我想 getresult() 正在下拉整个结果集。是这样吗?我想象有一种方法可以根据需要只通过网络拉取结果集的 block ,但我没有立即在 pg 模块文档中看到类似的东西。

是否可以使用 pgdb 模块或其他方法来做到这一点?

我担心的是应用程序机器上的内存——如果可以的话,我宁愿不一次将数百万行加载到内存中。

这还值得担心吗?

最佳答案

如果它在 Python Database API spec 之后,你可以使用光标:

curs = conn.cursor()
curs.execute('select * from bigtable')

然后使用 curs.fetchone()curs.fetchmany(chunksize)

关于python - 使用 Python/PyGreSQL,如何有效处理大型结果集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7476629/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com