2017-10-20 229 views
0

我需要研究表't1'。Oracle 12c - 如何查看某个表的所有分区和子分区以及每个分区的记录数

怎么看:

  • 所有分区和列被用于分区
  • 所有子分区和列被用于子分区
  • 记录数为每个分区并为每个子分区

这给出了一个很好的开始记录的数量,但需要(上图)的详细信息:

select * from ALL_PART_TABLES where table_name = 't1' 

谢谢。

+2

检查'ALL_TAB_PARTITIONS'和'ALL_TAB_SUBPARTITIONS' - 所有必需的列都可用。 –

+0

谢谢。这也是关于分区和子分区的名称以及每个分区中有多少个子分区的很好的信息。如何查看每个分区和子分区中的记录数量? – Joe

+1

有一个'NUM_ROWS'列avilable。要知道列的详细信息,您可以使用'ALL_PART_KEY_COLUMNS'和'ALL_SUBPART_KEY_COLUMNS'。请参阅此链接:https://docs.oracle.com/cd/E11882_01/server.112/e25523/part_admin005.htm –

回答

0

的下面查询给出的行数在SUBPARTITION

select num_rows, PARTITION_NAME , SUBPARTITION_NAME 
    FROM ALL_TAB_SUBPARTITIONS 
where table_name = 'yourtable'; 

的下面的查询给出了在PARTITION的行数,并且还子分区的数目。

select num_rows, PARTITION_NAME, SUBPARTITION_COUNT  
    FROM ALL_TAB_SUBPARTITIONS 
where table_name = 'yourtable'; 
+0

NUM_ROWS列对所有分区/子分区显示为“空”。我是否需要运行一些分析命令或其他内容才能使此列填充实数? – Joe

+0

你必须为num_rows分析表toshow up – Valli

+0

这是什么命令?只是'分析'mytable''? – Joe