gpt4 book ai didi

python - 皮威 ORM : how to efficiently iterate over a large resultset

转载 作者:行者123 更新时间:2023-11-28 16:30:37 24 4
gpt4 key购买 nike

我希望我的程序在从 MySQL 服务器接收到行后立即开始处理行(行数多且连接速度慢)。

docs recommend for querying lots of rows : MyModel.select().iterator()

但是,似乎首先是数据库服务器发送所有数据,然后迭代器产生第一个结果(在另一个终端中使用 tcpdump 验证)。

我尝试使用原始数据库驱动程序 MySQLdbpymysql 来完成此操作,但结果似乎也得到了缓冲。

有可能吗?其他 Peewee 开发人员如何处理对大型数据集的迭代?

最佳答案

Willem,针对这个问题,Postgresql 提供了命名游标(或服务器端游标),peewee 支持:

http://docs.peewee-orm.com/en/latest/peewee/playhouse.html#server-side-cursors

我对 MySQL 不是很熟悉,但也许它提供了类似的东西?

如果没有,您总是可以使用分块迭代器。

关于python - 皮威 ORM : how to efficiently iterate over a large resultset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32340286/

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