簡體   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