ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 不可见索引

不可见索引

原创 Linux操作系统 作者:拉风小子 时间:2013-05-28 18:34:43 0 删除 编辑
不可见索引:优化器看不到这个索引的存在,但是数据库在增删改操作时还要像对待普通索引一样维护不可见索引。
(除了它对优化器的不可见特性别的和普通索引没什么区别)

1、不可见索引的用途:
1)、当用altre index...monitoring.监控索引使用,找出不被任何sql使用的索引,这时可以先把这些索引改为不可见,等系统没有问题再删除。
   如果直接删除或使其不可用如果以后要恢复代价是比较大的。
2)、也可以用于测试是否应该删除某个索引。
3)、在添加索引前,可以先使索引不可见,在会话级别设置optimizer_use_invisble_indexes=true,然后测试,如果满意可以ALTER INDEX ... VISIBLE

2、创建不可见索引:
CREATE INDEX IDX_EMPLOYEE ON EMPOYEE(ID) INVISIBLE;

3、修改索引状态:
ALTER INDEX IDX_EMPLOYEE VISIBLE;

ALTER INDEX IDX_EMPLOYEE INVISIBLE;

4、查找不可见索引:
SELECT INDEX_NAME,VISIBILITY FROM  USER_INDEXES WHERE VISIBILITY='INVISIBLE';
5、参数optimizer_use_invisble_indexes
true:不可见索引对优化器可用
false(默认值):不可见索引优化器不可用
alter session set optimizer_use_invisble_indexes=true;
6、收集统计信息
exec dbms_stats.gather_index_stats(user,'IDX_EMPLOYEE');

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

下一篇: 函数索引
请登录后发表评论 登录
全部评论

注册时间:2012-05-24

  • 博文量
    20
  • 访问量
    39007