Invisible Indexes
In Oracle Database 11g, you can create invisible indexes. An invisible index is similar to regular indexes in most respects. However, you can hide the index from the optimizer, thus making it invisible to the optimizer. You can also change the status of an index from visible to invisible any time you want, and you can set an initialization parameter at the database level to make all invisible indexes visible to the optimizer, thus treating the invisible indexes as any other regular indexes. You can use the invisible indexes feature to use a temporary index for specific operations without forcing all operations to use that index. You can also use invisible indexes to test the effects of removing an index before you get rid of an index for good. You can create an invisible index by specifying the invisible clause, as shown here:
SQL> create index invib_idx1 on test_tab(name) invisible;
You can also modify a regular index into an invisible index by using the alter index statement, as shown here:
SQL> alter index indx1 invisible;
Note:The database maintains an invisible index during DML statements.
The previous statement will make the index INDX1 invisible to the optimizer. Therefore, the optimizer disregards the index when creating an execution plan that involves the table column indexed by INDX1.Whether you create a new index as invisible or you modify a regular index to an invisible index with the alter index statement, you can make an index visible again by issuing the following statement:
SQL> alter index invisib_idx1 visible;
Once you issue the previous statement, the index becomes a regular index visible to the optimizer.
The new initialization parameter optimizer_use_invisible_indexes helps you enable or disable invisible indexes. You can make the cost optimizer take into account all invisible indexes in the database by setting the optimizer_use_ invisible_indexes parameter to true. You can do this at the session or at the system level, as shown here:
SQL> alter system set optimizer_use_invisible_indexes = true
scope=spfile;
When you set the optimizer_use_invisible_indexes parameter to true, the database treats all invisible indexes as visible (normal) indexes. The default value of the optimizer_use_invisible_indexes initialization parameter is false, which means that the optimizer doesn’t consider any invisible indexes, although the database will maintain the invisible indexes through all DML operations, just as if they were normal indexes. You can check whether an index is visible or not by issuing a query such as the one shown in this example:
SQL> select index_name, visibility from dba_indexes
where index_name like '%NAME_IDX%';
INDEX_NAME VISIBILITY
------------ -----------
NAME_IDX2 INVISIBLE
NAME_IDX1 INVISIBLE
The VISIBILITY column in the DBA_INDEXES view shows whether an index is visible. In the preceding example, both indexes retrieved by the query are invisible to the optimizer.
参考至: 《McGraw.Hill.OCP.Oracle.Database.11g.New.Features.for.Administrators.Exam.Guide.Apr.2008》 http://www.oracle-base.com/articles/11g/invisible-indexes-11gr1.php
本文原创,转载请注明出处、作者
如有错误,欢迎指正
邮箱:czmcj@163.com
相关推荐
Oracle 11g 中引入了一个新特性,称为索引不可见(Index Invisible),它允许 DBA 将索引设置为不可见状态,使得优化器在选择查询计划时忽视该索引,而不影响索引的正常更新。 索引维护是 DBA 的一项重要工作。在...
### Oracle 11g 面向DBA的新功能学习指南 #### 一、前台统计信息的增强 在Oracle Database 11g中,为了帮助DBA更好地理解系统的性能问题,Oracle增强了其性能监控功能,特别是在前台进程和后台进程方面。在`V$...
2007 年,Oracle 发布了 Oracle 11g,实现了信息生命周期管理等多项创新。2013 年,Oracle 发布了 Oracle 12c,引入了多租户架构、in-memory option 等多个特性。 多租户架构 多租户架构是 Oracle 12c 的一个重要...
【Laravel开发-invisible-recaptcha】是针对 Laravel 框架的一个扩展,旨在集成谷歌的 Invisible reCAPTCHA 服务。这个服务主要用于防止机器人和自动脚本进行恶意操作,如垃圾邮件提交、表单滥用等,同时它在用户...
案例中分析了为什么在从Oracle 10g升级到11g的过程中,优化器可能会抛弃索引而选择全表扫描。这通常是因为优化器在新版本中采用了新的算法和计算方式,可能基于性能指标做出不同的决策。在某些情况下,尽管优化器...
标题 "invisible.rar" 提供的信息看似简单,但其背后可能隐藏着关于文件压缩、文件隐藏以及可能的安全问题等多方面的IT知识点。让我们深入探讨一下。 首先,".rar" 是一种流行的压缩文件格式,由 RAR (Roshal ...
在Oracle数据库管理系统中,不可见索引(Invisible Indexes)是一种特殊类型的索引,它的存在不会直接影响SQL查询的优化过程。这种索引设计的目的是为了在不影响生产环境性能的同时,让DBA或开发者能够评估索引的...
4. Index-organized table (IOT):索引组织表,数据存储在索引结构中,提供更快的插入和查询速度,适用于大量插入和查询的场景。 5. Invisible索引:不参与SQL优化器的查询路径选择,用于测试索引效果,不影响生产...
标题中的“activex_delphi_invisible_component_library_Invisible!_activex_”揭示了这个主题与使用Delphi开发的ActiveX控件有关,特别是关于一个不可见(Invisible)的组件库。ActiveX是一种技术,允许软件组件在...
它旨在保护原创作品不被非法复制和篡改,同时也能在发生侵权行为时提供证据。在"data.zip"这个压缩文件中,可能包含了一个或多个文件,这些文件可能已经应用了隐形水印,使得它们在被正常使用的同时,又具有了版权...
invisible_captcha, 针对RoR应用的Unobtrusive和灵活的垃圾邮件保护 不可见的验证码 Rails 应用程序的简单和灵活的垃圾邮件保护解决方案。不可见的Captcha提供了不同的技术来保护你的应用程序免受垃圾干扰。主保护是...
检查公司使用的业务动态和策略,这些业务和策略认识到软件平台革命释放的变革力量,这一革命将同时改变新旧行业。
"特洛伊木马源不可见漏洞"(Trojan Source Invisible Vulnerabilities)是一种新型的安全威胁,它利用Unicode等文本编码标准中的微妙之处,使得源代码在编译器和人类视觉上呈现不同的形式。这种攻击方式导致的漏洞...
《基于波动率的技术分析策略:交易无形之物》是一本专注于量化交易的书籍。作者Kirk Northington在其作品中提出了一个新的技术分析概念——波动率转变(Volatility Shift),并详细阐述了基于波动率的技术分析组件的...
同时,Oracle的Invisible Indexes允许在不影响查询性能的前提下临时禁用索引进行测试。 以上知识点涉及了Oracle索引技术的核心概念、创建与管理、优化技巧以及一些高级特性,这些知识点对于数据库管理员、开发人员...
【Oracle 12c不可见字段的应用】 Oracle 12c是Oracle数据库的一个重要版本,引入了许多创新特性,其中就包括“不可见字段”的概念。不可见字段是一种数据隐藏技术,它允许数据库管理员在表中定义某些列,但这些列在...
【Bose博士Virtually Invisible 591 吸顶式扬声器说明书】 Bose博士的Virtually Invisible 591 吸顶式扬声器是一款设计精巧、性能卓越的音响设备,适用于家庭影院系统或全屋音频解决方案。这款扬声器以其几乎隐形的...
《无形的宇宙——暗物质与暗能量》 在探索浩渺宇宙的过程中,科学家们面临着两个极为神秘且重要的概念:暗能量和暗物质。这两个概念,虽然我们无法直接观测到,但它们却对整个宇宙的结构和演化起着至关重要的作用。...
vue-invisible-captcha 与VueJS的超级简单的隐形Recaptcha集成图书馆有点不稳定。 错误,可能缺少功能产品特点良好的可定制性自动按需自动加载Google脚本执行回调后自动重置..um它只是工作大声笑安装npm i vue-...