Oracle
 sql >> база данни >  >> RDS >> Oracle

След премахване на дяла, индексът стана неизползваем, какво да правя,

  • ANALYZE TABLE не възстановява индекса, нали?

    Не знам, но в днешно време трябва да използвате DBMS_STATS.GATHER_TABLE_STATS вместо ANALYZE TABLE

  • Директното зареждане означава, че данните не се вмъкват ред по ред, а групово, вижте Зареждане на директен път

  • Ако вашият индекс стане UNUSABLE тогава трябва да е глобален индекс.

  • Използвайте UPDATE GLOBAL INDEXES клауза, т.е. alter table target_table drop partition target_eldest_partition UPDATE GLOBAL INDEXES; или създайте локални индекси.

  • Зависи кои колони сте индексирали. Вместо цялата таблица можете също да стартирате DBMS_STATS.GATHER_INDEX_STATS . С DBMS_STATS.GATHER_TABLE_STATS можете също да посочите само единични дялове и дори единични колони.

между другото, за много въпроси отговорът ми всъщност трябва да бъде:„Консултирахте ли се с документацията на Oracle“? или "знаете ли гугъл"? Според екранните ви снимки използвате схема SYS и таблично пространство SYSAUX за вашите потребителски обекти. Не трябва да правите това. Създайте свой собствен потребител и създайте произволен обект в тази схема.

Като цяло има три типа разделени индекси:

  1. ГЛОБАЛЕН ИНДЕКС:Имате един голям индекс, обхващащ цялата таблица. Това е задължително, например за УНИКАЛНИ ИНДЕКСИ, ако индексираните колони не са част от ключа на дяла. Всъщност такъв индекс не е разделен. (както е показано във ALL_INDEXES )
  2. ЛОКАЛЕН ИНДЕКС:Този индекс е разделен по същия начин, както основната таблица. Всеки дял на таблица има съответен индексен дял.
  3. ПАРТИЦИИРАН ИНДЕКС:Този индекс е разделен, но различен отколкото основната таблица. Мисля, че дори е възможно да се създаде разделен индекс върху неразделена таблица. Разделените индекси са ограничени само до много специални случаи на употреба. Всъщност не мога да си представя къде такъв индекс би имал смисъл.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Добавете ден към Timestamp

  2. PL/SQL:числова или стойностна грешка:символен низов буфер е твърде малък %ROWTYPE

  3. Как да отворите XML данни в Oracle

  4. ORA-01618

  5. Таблица на заявка от друга база данни на ORACLE