Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
您好我想知道如何在 db2 中查找所有空表。我正在考虑列出每个模式的所有表(即“列出模式的表”),然后进行计数(*)查询,检查哪些给出了 0,但这似乎很麻烦而且很脏,因为我有编写一个shell脚本来解析表名并循环遍历每个表,运行count SQL。
有更快的方法吗?
另一种选择是查看数据字典或元数据表,如果正确收集了适当的统计信息,它们将包含此信息。在 oracle 中,这将是 user/all/dba_tables 数据字典视图。
看起来 D2 中的 SYSCAT.TABLES 目录视图具有类似的目的,但列值也可能具有 -1、-2,在这种情况下它们具有不同的值。检查此链接。
SYSCAT.TABLES 目录视图:DB2
count(*) 可能仍然更准确,因为在大多数情况下收集的统计数据不能保证 100% 的准确性。