分页和过滤在PostgreSQL中很大的表上(键集分页?)

分页和过滤在PostgreSQL中很大的表上(键集分页?),第1张

分页和过滤在PostgreSQL中很大的表上(键集分页?)

这是我的处理方式。对于我获取的第一页,我使用

SELECt id, col, col, col   FROM output  ORDER BY id DESC LIMIT 10000

然后,在我的客户端程序(node.js)中,

id
从结果集的最后一行捕获值。当我需要下一页时,请执行此 *** 作。

 SELECt id, col, col, col   FROM output  WHERe id < my_captured_id_value  ORDER BY id DESC

这利用了索引。即使您从表中删除了一些行,它也能正常工作。

顺便说一句,如果您的第一个分页页面具有最大的ID,则您可能希望使用降序索引。

CREATE UNIQUE INDEX index_id ON outputUSING btree (ID DESC)

专业提示

SELECT *
对大型数据库的性能有害。始终列出您实际需要的列。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5649722.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存