oracle 双向链表,请问各位老大,oracle为什么不能对同一列建立不同的索引?

请问各位老大,oracle为什么不能对同一列建立不同的索引?

比如说:

CREATE TABLE list_part_tab (

id number

,deal_date DATE

,area_code number

,contents varchar2(4000)

) PARTITION BY list (area_code) (

PARTITION p_591 VALUES (591)

,PARTITION p_592 VALUES (592)

,PARTITION p_593 VALUES (593)

,PARTITION p_594 VALUES (594)

,PARTITION p_595 VALUES (595)

,PARTITION p_596 VALUES (596)

,PARTITION p_597 VALUES (597)

,PARTITION p_598 VALUES (598)

,PARTITION p_599 VALUES (599)

,PARTITION p_other VALUES (DEFAULT)

);

建立了一个分区表。然后建立索引:

create index ind_list_part_tab_1 on list_part_tab(area_code) global partition by range (area_code)(

PARTITION p_591 VALUES less than (591),

PARTITION p_592 VALUES less than (592),

PARTITION p_593 VALUES less than (593),

PARTITION p_594 VALUES less than (594),

PARTITION p_595 VALUES less than (595),

PARTITION p_596 VALUES less than (596),

PARTITION p_597 VALUES less than (597),

PARTITION p_598 VALUES less than (598),

PARTITION p_599 VALUES less than (599),

PARTITION p_other VALUES less than (maxvalue)

);

然后再建立一个

SQL> Create index ind_list_part_tab_2 on list_part_tab(area_code) local;

Create index ind_list_part_tab_2 on list_part_tab(area_code) local

*

ERROR at line 1:

ORA-01408: such column list already indexed

就不让建立了。

虽然索引列一样,但是一个local索引,一个global用途不一样。

可是可以通过制定hint等方式决定走哪个索引。为什么他就不让建立了呢?

oracle设计这个的时候背后原理是什么呢?

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值