![]() |
1
4
psycopg2 dbapi驱动程序在返回任何行之前缓冲整个查询结果。您需要使用服务器端的光标以增量方式获取结果。有关SQL炼金术,请参见 server_side_cursors in the docs 如果你使用ORM, Query.yield_per() method . SQLAlchemy当前没有为每个查询设置该选项,但是 there is a ticket with a patch for implementing that . |
![]() |
2
0
理论上,因为您的ORDERBY是按主键排序的,所以不需要某种结果,而且DB确实可以立即按键顺序返回数据。 我希望一个有能力的数据库能够注意到这一点,并对其进行优化。似乎pgsql不是。耸耸肩* 如果限制为100,您不会注意到任何影响,因为从数据库中提取100个结果很快,并且如果在将结果发送给客户之前,首先对它们进行收集和排序,您不会注意到任何延迟。 我建议试着把订单放在旁边。很有可能,您的结果将被正确地按时间排序(考虑到您的pk,甚至可能有一个标准或规范要求这样做),并且您可能更快地获得结果。 |
![]() |
Community wiki · SQL语法新手 1 年前 |
![]() |
KateMak · 是否将多行中的多列与唯一id组合? 1 年前 |
![]() |
Karuna · SQL中列内的筛选器[重复] 1 年前 |
![]() |
Irvan Affandy · 为另一个选择选择声明的键 1 年前 |
![]() |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
![]() |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |