Як змінити глобальний індекс на локальний в Oracle?

2024 Від admin
  1. Якщо вам потрібен УНІКАЛЬНИЙ індекс, а стовпець ключа розділу не є частиною вашого індексу, тоді він має бути ГЛОБАЛЬНИМ.
  2. Якщо у вас багато розділів, а ваш запит не вказує розділ, то ЛОКАЛЬНИЙ індекс може працювати повільніше, оскільки сканування багатьох локальних розділів індексу схоже на сканування багатьох різних індексів.

Локальні розділені індекси автоматично керуються Oracle під час створення або видалення розділів таблиці. Глобальний розділений індекс містить ключі з кількох розділів таблиці в одному розділі індексу. Цей тип індексу створюється за допомогою пропозиції GLOBAL під час створення індексу.

Використовуйте оператор ALTER INDEX, щоб змінити або перебудувати існуючий індекс. Індекс має бути у вашій власній схемі або ви повинні мати системні привілеї ALTER ANY INDEX. Щоб виконати пропозицію MONITORING USAGE, індекс має бути у вашій власній схемі.

У локальному індексі всі ключі в певному розділі індексу посилаються лише на рядки, що зберігаються в одному базовому розділі таблиці. Локальний індекс створюється за допомогою атрибута LOCAL. Oracle створює локальний індекс таким чином, щоб він був рівномірно розділений з основною таблицею.

Виконайте таку команду: Виберіть «ЗМІНИТИ ІНДЕКС» || INDEX_NAME || 'ПЕРЕБУДОВАТИ РОЗДІЛ' || PARTITION_NAME || ';' з DBA_ind_partitions, де status = 'UNUSABLE' AND INDEX_OWNER = 'CISADM'; Примітка. Цю дію з відновлення глобальних індексів слід виконувати в години пік, щоб уникнути проблем із продуктивністю.

Відповідь: Щоб перевірити індекс таблиці в Oracle, ви можете використати такий запит: SELECT index_name FROM all_indexes WHERE table_name = 'your_table_name';