持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第8天

一般我们统计一张表总共多少数据,大部分人都会去使用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;
        大数据技术派
      
私信