虽然oracle索引是一个独立于表的对象,但是当一个表被删除后,基于该表的索引也都被自动删除
答案:3 悬赏:0
解决时间 2021-03-22 16:50
- 提问者网友:小姐请专情
- 2021-03-21 18:53
虽然oracle索引是一个独立于表的对象,但是当一个表被删除后,基于该表的索引也都被自动删除
最佳答案
- 二级知识专家网友:短发女王川岛琦
- 2021-03-21 20:14
索引是基于表的列的,列都没了索引就没意义了,不删除留着浪费空间啊
全部回答
- 1楼网友:零负荷的放任
- 2021-03-21 22:11
是的
- 2楼网友:闲懒诗人
- 2021-03-21 20:47
例子:
sql>create index expression_ndx
on mytable ((mycola + mycolc) * mycolb);
sql>select mycolc from mytable
where (mycola + mycolc) * mycolb
复合索引的例子:
sql>create index example_ndx
on myexample (mycola, upper(mycolb), mycolc);
sql>select mycolc from myexample
where mycola = 55 and upper(mycolb) = 'jones';
限制和规则总结:
对于下面这些限制,不能创建fbi索引:
a) lob 列
b) ref
c) nested table 列
d) 包含上面数据类型的对象
fbi索引必须遵守下面的规则:
a) 必须使用基于成本的优化器,而且创建后必须对索引进行分析
b) 不能存储null值。因为任何函数在任何情况下都不能返回null值。
c)如果一个用户定义的pl/sql例程失效了,而且这个例程被fbi索引用到了,那么相应的这个fbi索引会变成disabled
d)创建fbi索引得函数必须是确定性的。即,对于指定的输入,总是会返回确定的结果。
e) 索引的属主如果没有了在fbi索引里面使用的函数的执行权限,那么这个fbi索引会变成disabled.
f) 在创建索引得函数里面不能使用sum等总计函数。
g)要把一个disabled了的索引重新变成enabled,这个函数必须首先是enabled的才可以。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯