关于索引与分区表的那么点事

创建索引时应遵循如下策略:导入数据后在创建索引。不需要为很小的表创建索引。对于取值范围很小的字段应当建议位图索引。限制表中的索引数目。为索引设置合适的PCTFREE值。存储索引的表空间最好单独设立。

Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0
Connected as wlzx


SQL> create table test3(
  2  col1 NUMBER,
  3  col2 NUMBER,
  4  CONSTRAINT uk_col1 UNIQUE(col1) USING INDEX LOCAL)
  5  PARTITION BY RANGE(col2)
  6  (PARTITION p1 VALUES LESS THAN (100),
  7  PARTITION p2 VALUES LESS THAN(MAXVALUE));

create table test3(
...

ORA-14039: 分区列必须构成 UNIQUE 索引的关键字列子集
--未分区字段不能创建LOCAL Unique索引

SQL> CREATE TABLE test3(
  2  col1 NUMBER,
  3  col2 NUMBER,
  4  CONSTRAINT uk_col1 UNIQUE(col1) USING INDEX)
  5  PARTITION BY RANGE(col2)
  6  (PARTITION p1 VALUES LESS THAN (100),
  7  PARTITION p2 VALUES LESS THAN(MAXVALUE));

Table created
--未分区字段可以创建全局Unique索引

SQL> CREATE TABLE test3(
  2  col1 NUMBER,
  3  col2 NUMBER,
  4  CONSTRAINT uk_col2 UNIQUE(col2) USING INDEX LOCAL)
  5  PARTITION BY RANGE(col2)
  6  (PARTITION p1 VALUES LESS THAN(100),
  7  PARTITION p2 VALUES LESS THAN(MAXVALUE));

Table created
--分区字段能创建LOCAL Unique索引

SQL> CREATE TABLE test3(
  2  col1 NUMBER,
  3  COL2 NUMBER,
  4  CONSTRAINT uk_col2 UNIQUE(col1,col2) USING INDEX LOCAL)
  5  PARTITION BY RANGE(col2)
  6  (PARTITION p1 VALUES LESS THAN (100),
  7  partition p2 VALUES LESS THAN(MAXVALUE));

Table created
--可以创建包含分区字段的联合Unique索引

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29438041/viewspace-1353515/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29438041/viewspace-1353515/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值