Поэтому я решил смоделировать и посмотреть, что произошло (я учу оракула около 7 месяцев, могут быть ошибки), я знаю, что в обычных индексах поддерживаются операции DML (индексы обновляются, когда вызывались операции DML), но я хочу проверитьinvisible indexes
в операциях DML, которые поддерживаются или нет. Теперь я создаю таблицу =>
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
, и я выбираю DISTINCT_KEYS
столбец (я знаю только это :))), после статики я снова вставляю 2 строки и снова анализирую =>
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
Итак, после операции вставки мы увидели, что изменилось в index_stats (это среднее значение сохраняется), и после normal index
я ввел это значение в invisible index
=>
SQL> alter index SYS_C008422 invisible;
Index altered.
Вставляет несколько строк =>
insert into emin1 values(5,1);
insert into emin1 values(6,1);
insert into emin1 values(7,1);
SQL> analyze index SYS_C008422 validate structure;
Index analyzed.
SQL> select name, lf_rows,distinct_keys from index_stats;
NAME LF_ROWS DISTINCT_KEYS
--------------- ---------- -------------
SYS_C008422 7 7
Так что это снова изменилось, я не знал, прав ли я в этом или нет, но я хочу узнать мнение экспертов, потому что искал больше в Google по этому поводу, но я не могу найти четкий ответ, и я смоделировалчтобы увидеть, что произошло в операциях DML, я нашел этот подход и думаю, что это поможет большему числу новичков.