获取数据库中所有表的行数的最有效方法是什么?
我正在使用 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 is a column from pg_class table, it holds data about "number of rows >in the table. This is only an estimate used by the planner.
如果您想要一个包含所有表及其行数的列表,那么它就可以完成
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'
"Why is "SELECT count(*) FROM bigtable;" slow?" : count(*)
关于sql - 获取 Postgres 数据库中每个表的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28667604/