【问题标题】:Oracle table partition not workingOracle 表分区不工作
【发布时间】:2016-07-12 15:35:10
【问题描述】:

我是 oracle 数据库的新手,我创建了一个分区表并在其中插入了一些日期,但数据没有分区。

表:

Create Table Buclm_Adapterdb.zzzz
(
   Id     Number   
)
Partition By Range (Id)
(  
   Partition T1 Values Less Than (100),
   Partition T2 Values Less Than (maxvalue)
)
;

插入数据:

INSERT INTO Buclm_Adapterdb.zzzz (id) VALUES (50);
INSERT INTO Buclm_Adapterdb.zzzz (id) VALUES (150);
INSERT INTO Buclm_Adapterdb.zzzz (id) VALUES (250);

数据已插入:

但是,数据没有分区,Num Rows 为空:

为什么?

【问题讨论】:

  • 您只创建了两个分区。你期待什么?
  • T1 应该有 1 行 (50),T2 应该有 2 行 (150, 250),这就是我所期望的吗? @a_horse_with_no_name
  • num_rows 来自哪里?如果那来自user_tables.num_rows,那么您需要先使用dbms_stats 包更新统计信息
  • 好的.....@a_horse_with_no_name

标签: sql oracle11g create-table database-partitioning


【解决方案1】:

您需要收集统计信息才能看到更新的 NUM_ROWS:

dbms_stats.gather_table_stats ( ownname => 'Buclm_Adapterdb', tabname => 'zzzz');

在这里阅读:

http://docs.oracle.com/cd/E11882_01/appdev.112/e40758/d_stats.htm#ARPLS68600

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多