Oracle index unusable和invisible的区别
invisible index会被优化器所忽略,但是dml操作仍然会维护索引。在session或者system级别使用参数OPTIMIZER_USE_INVISIBLE_INDEX
摘录自Oracle 11g的官方文档:
UNUSABLE Specify UNUSABLE to mark the index or index partition(s) or index subpartition(s) UNUSABLE. The space allocated for an index or index partition or subpartition is freed immediately when the object is marked UNUSABLE. An unusable index must be rebuilt, or dropped and re-created, before it can be used. While one partition is marked UNUSABLE, the other partitions of the index are still valid. You can execute statements that require the index if the statements do not access the unusable partition. You can also split or rename the unusable partition before rebuilding it. Refer to CREATE INDEX ... UNUSABLE for more information.
An index that is not maintained by DML operations and is ignored by the optimizer. All indexes are usable (default) or unusable.
VISIBLE | INVISIBLE Use this clause to specify whether the index is visible or invisible to the optimizer. An invisible index is maintained by DML operations, but it is not be used by the optimizer during queries unless you explicitly set the parameter OPTIMIZER_USE_INVISIBLE_INDEXES to TRUE at the session or system level.
unusable index 是被优化器所忽略,并且不被dml操作维护,,如果索引被unusable后,需要重建。
invisible index会被优化器所忽略,但是dml操作仍然会维护索引。在session或者system级别使用参数OPTIMIZER_USE_INVISIBLE_INDEXES=true,那么优化器会考虑使用invisible index。适用于查看索引是否被正在的使用上。
在CentOS 6.4下安装Oracle 11gR2(x64)
Oracle 11gR2 在VMWare虚拟机中安装步骤
Debian 下 安装 Oracle 11g XE R2
Oracle性能优化 之 共享池
上一篇: 为什么单个php请求在linux下会比win下内存占用小很多?
下一篇: JS的排他思想
推荐阅读
-
oracle中left join和right join的区别浅谈
-
Oracle中的Connect/session和process的区别及关系介绍
-
深入Oracle的left join中on和where的区别详解
-
浅析Oracle中char和varchar2的区别
-
sqlserver中delete、update中使用表别名和oracle的区别
-
Oracle中sys和system的区别小结
-
Oracle硬解析和软解析的区别分析
-
oracle中left join和right join的区别浅谈
-
Oracle中的Connect/session和process的区别及关系介绍
-
Oracle数据库中 call 和 exec的区别