持续创作,加速成长!这是我参与「掘金日新计划 · 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;
大数据技术派