如何加快对PostgreSQL表中的行计数?

前端之家收集整理的这篇文章主要介绍了如何加快对PostgreSQL表中的行计数?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们需要计算Postgresql表中的行数。在我们的情况下,没有条件需要满足,并且如果这显着提高查询速度,得到行估计是完全可以接受的。

基本上,我们希望从< table>中选择count(id)以尽可能快地运行,即使这意味着没有得到精确的结果。

谢谢!任何建议将不胜感激!

快速估计:
SELECT reltuples FROM pg_class WHERE oid = 'my_schema.my_table'::regclass;

这优于目前提出的查询包括Postgres Wiki on slow counting.中的建议(我现在更新了):
在pg_class中,relname不是唯一的。在数据库的多个模式中可以有多个具有相同relname的表。这是我的安装中的常见的情况。

而对pg_stat_user_tables的查询是慢500倍,因为这是一个视图在几个表。

如果不对表名进行模式限定,则转换为regclass会观察当前的search_path以选择最佳匹配。如果表在search_path中的任何模式中不存在(或不可见),您会收到一条错误消息。

Object Identifier Types in the manual的详细信息。

相关答案新选项:

> Fast way to discover the row count of a table

猜你在找的Postgre SQL相关文章