PostgreSQL快速统计表行数

一般我们统计一张表总共多少数据,大部分人都会去使用count(*)去计算。但如果表数据量特别大,无疑这要执行很久,并且对IO的影响也很明显。
而往往我们并不需要十分精确的去计算某张大表的行数,那么我们可以通过数据库的元数据表去快速估算,但前提是该表的统计信息要尽可能的精确。

估算某张表的行数:

SELECT reltuples::bigint AS EstimatedCount
FROM   pg_class
WHERE  oid = 'public.TableName'::regclass;

列出库中所有表的行数:

SELECT 
	schemaname
	,relname
	,n_live_tup AS EstimatedCount 
FROM pg_stat_user_tables 
ORDER BY n_live_tup DESC;

示例:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_39540651/article/details/115382690