重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5297|回复: 2
打印 上一主题 下一主题

[Oracle] 虚拟索引与普通索引的区别

[复制链接]
跳转到指定楼层
楼主
发表于 2017-12-20 10:07:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1: 创建虚拟索引后需要设置隐含参数"_use_nosegment_indexes"为true, oracle才会选择虚拟索引。之前实验已经验证。
2: 虚拟索引只存在数据字典中定义,没有相关的索引段。如下所示,在dba_objects能查到索引定义,但是dba_indexes中没有数据。
SQL> select index_name from dba_indexeswhere table_name='TEST';
no rows selected
SQL> col OBJECT_NAME for a30
SQL> col OBJECT_TYPE for a20
SQL> select object_name, object_typefrom dba_objects where
2 object_name=upper('idx_test_virtual');
OBJECT_NAME                    OBJECT_TYPE
--------------------------------------------------
IDX_TEST_VIRTUAL               INDEX
3虚拟索引也可以像普通索引那样分析analyze;但是没有相关统计信息生成
SQL> analyze index idx_test_virtualvalidate structure;
Index analyzed.
4虚拟索引不能重建rebuild,否则会抛出ORA-8114错误。
SQL>alter index idx_test_virtual rebuild;
alterindex idx_test_virtual rebuild
*
ERROR atline 1:
ORA-08114:can not alter a fake index
5: 不能创建与虚拟索引同名的普通索引
SQL> createindex idx_test_virtual on test(object_id);
create indexidx_test_virtual on test(object_id)
             *
ERROR at line 1:
ORA-00955: nameis already used by an existing object
6: 删除虚拟索引是不会放入到回收站的
SQL> showparameter recyclebin;
NAME                                 TYPE        VALUE
----------------------------------------------- ------------------------------
recyclebin                           string      on
SQL> dropindex idx_test_virtual;
Index dropped.
SQL> selectowner, object_name, original_name, type from dba_recyclebin
  2 where original_name='IDX_TEST_VIRTUAL';
no rows selected
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

沙发
发表于 2017-12-22 12:00:56 | 只看该作者
在11g以上版本,这个是通过不可见索引来实现:
CREATE INDEX test_i1 ON seg_test(c) invisible;

回复 支持 反对

使用道具 举报

板凳
发表于 2017-12-22 12:01:03 | 只看该作者
在11g以上版本,这个是通过不可见索引来实现:
CREATE INDEX test_i1 ON seg_test(c) invisible;

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-11-27 21:00 , Processed in 0.082424 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表