PostgreSQL客户端中的限制查询时间

问题描述 投票:0回答:1

我正在尝试查询PostgreSQL数据库,但这是一台公共服务器,我真的不想长时间浪费很多CPU。

因此,我想知道是否有某种方法可以将查询时间限制为特定的持续时间,例如3/5/10分钟。

我假设存在类似limit的语法,但不是针对结果数量,而是针对查询持续时间。

感谢您的任何帮助。

sql postgresql performance limit
1个回答
0
投票

以下是使用LIMIT控制查询可能运行多长时间的潜在问题。正确地,您还应该在查询中使用ORDER BY,以告诉Postgres它应如何精确地限制结果集的大小。但是需要注意的是,在将LIMITORDER BY结合使用时,Postgres通常必须实现整个结果集,然后还可能进行排序,这可能比读取整个结果集要花费更长的时间。

一种解决方法可能是仅使用LIMIT而没有ORDER BY。如果执行计划不包括读取整个表并进行排序,则可能是执行所需操作的一种方法。但是,请记住,如果走这条路线,Postgres将获得免费许可证,可以按任何顺序从其希望的表中返回any记录。从业务或报告的角度来看,这可能不是您想要的。

但是,这里一种更好的方法是使用诸如索引之类的方法来调整查询,并使查询速度更快,使您无需诉诸LIMIT技巧。

© www.soinside.com 2019 - 2024. All rights reserved.