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,甚至可能有一个标准或规范要求这样做),并且您可能更快地获得结果。 |
tggtsed · PostgreSQL从平均值中排除值 1 年前 |
Dawid · 为什么我不能在子查询中使用表别名? 2 年前 |
CraZyCoDer · 在PostgreSQL中锁定潜在事务 2 年前 |
ranebec · 计数时如何返回0而不是null? 2 年前 |
Flo · 分组依据中的SQL大小写 2 年前 |