获取数据库中所有表的行数的最有效方法是什么?
我正在使用 Postgres 数据库。
结果示例
table_name row_count
------------ -------------
some_table 1,234
foobar 5,678
another_table 32
...
如果您想要特定的表行数那么它会起作用
SELECT reltuples FROM pg_class WHERE oid = 'my_schema.my_table'::regclass;
reltuples 是 pg_class 表中的一列,它保存有关表中“行数”的数据。这只是规划器使用的估计。
如果您想要所有表及其行数的列表,那么它将完成这项工作
SELECT
pgClass.relname AS tableName,
pgClass.reltuples AS rowCount
FROM
pg_class pgClass
INNER JOIN
pg_namespace pgNamespace ON (pgNamespace.oid = pgClass.relnamespace)
WHERE
pgNamespace.nspname NOT IN ('pg_catalog', 'information_schema') AND
pgClass.relkind='r'
“为什么“SELECT count(*) FROM bigtable;”很慢?” :count(*) http://wiki.postgresql.org/wiki/FAQ#Why_is_.22SELECT_count.28.2A.29_FROM_bigtable.3B.22_slow.3F
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)