【发布时间】:2017-10-20 03:32:49
【问题描述】:
我必须探索表 't1'。
怎么看:
- 所有分区以及哪个列用于分区
- 所有子分区以及哪个列用于子分区
- 每个分区的记录数和每个子分区的记录数
这是一个好的开始,但需要更多信息(上图):
select * from ALL_PART_TABLES where table_name = 't1'
谢谢。
【问题讨论】:
-
检查
ALL_TAB_PARTITIONS和ALL_TAB_SUBPARTITIONS- 所有必需的列都可用。 -
谢谢。这也是关于分区和子分区名称以及每个分区中有多少子分区的重要信息。如何查看每个分区和子分区的记录数?
-
有一个
NUM_ROWS列可用。要了解列详细信息,您可以使用ALL_PART_KEY_COLUMNS和ALL_SUBPART_KEY_COLUMNS。参考这个链接:docs.oracle.com/cd/E11882_01/server.112/e25523/… -
谢谢。最后 2 个表格非常适合列详细信息。注意 - 我看到了 NUM_ROWS 列,但所有分区/子分区都显示为“null”。我是否需要运行一些分析命令或其他命令才能让此列填充实数?
-
如果 num_rows 为空,则表示从未计算过统计信息。运行:exec dbms_stats.gather_table_stats('SCHEMA_NAME','TABLE_NAME',granularity=>'ALL');
标签: sql oracle count partitioning