我想知道每个表的总行数。所有桌子都是这样。H2有可能做到这一点吗?
我在想一张桌子:
|表名|行大小|
目前我使用的是当前版本1.3.170(2012-11-30)。
您需要使用用户定义的函数,例如:
drop alias count_rows;
create alias count_rows as
'long countRows(Connection conn, String tableName)
throws SQLException {
ResultSet rs = conn.createStatement().
executeQuery("select count(*) from " + tableName);
rs.next();
return rs.getLong(1); }';
select table_name, count_rows(table_name) count
from INFORMATION_SCHEMA.TABLES
where table_schema = 'PUBLIC';
此代码不考虑架构,仅适用于未引用的表名。
尝试SELECT table_name, row_count_estimate FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'PUBLIC'
。它会给你一个"估计",但结果很可能会给你所需的信息。