DML操作是否维护了不可见索引?

问题描述 投票:0回答:1

因此,我决定进行模拟并查看发生了什么(我正在学习oracle大约7个月,可能会出错),我知道在正常索引中维护了DML操作(在DML操作引起时更新了索引),但是我想检查[ C0]在DML操作中是否保持。现在我创建表=>

invisible indexes

首先获取索引名称(我没有创建索引),然后在create table emin1 ( id number primary key, nomre number ); insert into emin1 values(1,1); insert into emin1 values(2,1); =>中使用了分析>>

normal index

我不知道SQL> select index_name,table_name from user_indexes a where table_name = 'EMIN3'; INDEX_NAME TABLE_NAME --------------- --------------- SYS_C008422 EMIN3 analyze index SYS_C008422 validate structure; SQL> select name, lf_rows,distinct_keys from index_stats; NAME LF_ROWS DISTINCT_KEYS --------------- ---------- ------------- SYS_C008422 2 2 中的大多数列,而是选择index_stats列(我只知道::))),在静力学之后,我再次插入2行并再次进行分析=>

DISTINCT_KEYS

因此,在插入操作之后,我们看到index_stats中的值发生了变化(这意味着保持不变),在insert into emin1 values(3,1); insert into emin1 values(4,1); analyze index SYS_C008422 validate structure; SQL> select name, lf_rows,distinct_keys from index_stats; NAME LF_ROWS DISTINCT_KEYS --------------- ---------- ------------- SYS_C008422 4 4 之后,我将其强制设置为normal index =>

invisible index

插入一些行=>

SQL> alter index SYS_C008422 invisible;

Index altered.

所以它又被改变了,我不知道我是否正确,但是我想了解专家的意见,因为在google上搜索了更多有关此问题的信息,但是我找不到明确的答案,因此我模拟了一下以查看DML操作中发生了什么,我找到了这种方法,我认为这将对更多的初学者有所帮助。

因此,我决定进行模拟并查看发生了什么(我正在学习oracle大约7个月,可能会出错),我知道在正常索引中维护了DML操作(在DML时更新了索引...

oracle indexing invisible dml
1个回答
0
投票
很容易混淆索引的两个重要属性:
© www.soinside.com 2019 - 2024. All rights reserved.