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

Как да проверите дали индексът се използва или не в Oracle

В Oracle SQL Developer, когато имате SQL в работния лист, има бутон „Обяснете плана“, можете също да натиснете F10. След като изпълните плана за обяснение, той ще се покаже в долния изглед на SQL Developer. Има колона "OBJECT_NAME", тя ще ви каже какъв индекс се използва. Например в заявка, която току-що изпълних, в лявата колона (OPERATION) първо се показва „SELECT STATEMENT“, след това SORT (AGGREGATE) и след това INDEX (RANGE SCAN) и след това в колоната OBJECT_NAME показва TICKER_IDX1, което е име на индекс в моята таблица.

Така че можете да видите чрез колоната OBJECT_NAME какви индекси се използват.

Може да се случи Oracle Cost Based Optimizer да избере неоптимален план за изпълнение. Много пъти актуализирането на статистика ще реши проблема. Други възможности за избор са добавяне на допълнителни индекси, с други думи индекс с няколко колони. Можете да намекнете за SQL израз, но това рядко е необходимо. Освен това е възможно да пренапишете заявката.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как мога да убия всички сесии, свързващи се с моята база данни на Oracle?

  2. Логически изглед на модела на данни в R12.2

  3. Множество ограничения в таблицата:Как да получите всички нарушения?

  4. операцията за манипулиране на данни не е законна за този изглед, случваща се в потребителска таблица

  5. Форматирайте резултатите от заявката в SQL*Plus