0

您好我想知道如何在 db2 中查找所有空表。我正在考虑列出每个模式的所有表(即“列出模式的表”),然后进行计数(*)查询,检查哪些给出了 0,但这似乎很麻烦而且很脏,因为我有编写一个shell脚本来解析表名并循环遍历每个表,运行count SQL。

有更快的方法吗?

4

1 回答 1

0

另一种选择是查看数据字典或元数据表,如果正确收集了适当的统计信息,它们将包含此信息。在 oracle 中,这将是 user/all/dba_tables 数据字典视图。

看起来 D2 中的 SYSCAT.TABLES 目录视图具有类似的目的,但列值也可能具有 -1、-2,在这种情况下它们具有不同的值。检查此链接。

SYSCAT.TABLES 目录视图:DB2

count(*) 可能仍然更准确,因为在大多数情况下收集的统计数据不能保证 100% 的准确性。

于 2012-07-05T22:12:35.237 回答