including indexes索引失效
今天在使用exchange partition做分区切换时,出现使用了including indexes后缀,索引依然失效的现象。通过反复实验后,总结出以下结论,共大家参考。
1,分区表新建索引,并插入数据,索引生效。
》使用including indexes后缀,转移分区,转移后目标表索引生效;分区表索引正常。
》继续向分区表中插入数据,索引继续生效。
》使用including indexes后缀再次转移,数据携带索引数据恢复到分区表,分区表索引生效,目标普通表索引生效(数据为空)
2,分区表创建索引,并插入数据,索引生效。
》使用不带including indexes后缀的命令转移,转移数据中不带索引数据。
》继续向分区表中插入数据,索引失效
》目标普通表索引失效
》再次交换分区将数据恢复到分区表(不论是否带including indexes),索引失效。
》删除分区表索引,重新建立索引,索引生效
3,分区表创建索引,并插入数据,索引生效。
》使用不带including indexes后缀的命令转移,转移数据中不带索引数据。
》目标普通表索引失效
》使用rebuild命令重建普通表索引
》再次使用带including indexes命令交换分区将数据恢复到分区表,索引生效。
结论:一旦使用了不带including indexes导致索引数据丢失,索引都将失效。只有重新建立索引,或者重构(rebuild)索引,才能将索引恢复。