我希望我的程序在从MySQL服务器接收到行后立即开始处理这些行(行多,连接速度慢)。在
docs recommend for querying lots of rows:MyModel.select().iterator()
。在
然而,似乎在迭代器产生第一个结果(在另一个终端中用tcpdump验证)之前,DB服务器首先发送所有数据。在
我尝试用原始数据库驱动程序MySQLdb
和pymysql
来实现这一点,但结果似乎也得到了缓冲。在
有可能吗?其他Peewee开发人员如何处理对大型数据集的迭代?在
Tags:
Willem,针对这个问题,Postgresql提供了peewee支持的命名游标(或服务器端游标):
http://docs.peewee-orm.com/en/latest/peewee/playhouse.html#server-side-cursors
我对MySQL不是很熟悉,但也许它提供了类似的功能?在
如果不是,您可以始终使用分块迭代器。在
相关问题 更多 >
编程相关推荐