繁体   English   中英

Peewee ORM:如何有效地迭代大型结果集

[英]Peewee ORM: how to efficiently iterate over a large resultset

我希望我的程序一旦从MySQL服务器接收到它们就开始处理行(许多行和慢速连接)。

文档建议查询大量行MyModel.select().iterator()

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

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

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

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

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

我不是非常熟悉MySQL,但也许它提供类似的东西?

如果不是,您可以始终使用分块迭代器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM