|
bisal 发表于 2015-2-23 21:48 ![]()
1. “update indexes和alter index online都可以增删改查操作,但会影响性能”
这个怎么评估呢?或者说怎 ...
嗯,谢谢你的实验,从来没想过使用,也从来没用过不包括分区键的local index作主键。
抛开这个问题,我们可以拓展一下,就索引本身而言,没有哪个索引可以保证数据的唯一性,主键或唯一性索引之所以能保证唯一性,是因为除了创建索引外,还创建了约束,所谓约束,无非类似触发的一些代码,当新值要进入表时,约束会查询表中是否已经存在这个新值,如果存在,就抛出错误,否则,就允许进入表。假如有个分区表,当有新值进入时,主键约束会查表里的值,如果没索引,就得进行全表扫描以确定是否已存在这个新值,不用说,每进入一个新值就得扫全表一遍,实际中是不可用的;如果有不包括分区键的local索引,那么约束就得扫描所有的索引分区,以确定表里是否存在这个新值;如果有包括分区键的local索引,那么,约束只需扫描索引的当前分区就可以了,不用说,最后一种情况是性能最好的,所以,oracle禁用了前两种情况的发生,以确保不发生性能等问题。
个人观点,仅供参考。
|
|