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

Как тълкувате плана за обяснение на заявка?

Потръпвам, когато видя коментари, че пълното сканиране на таблици е лошо и достъпът до индекс е добър. Пълно сканиране на таблици, сканиране на диапазон на индекси, бързо сканиране на пълен индекс, вложени цикли, свързване с обединяване, хеш присъединяване и т.н. са просто механизми за достъп, които трябва да бъдат разбрани от анализатора и комбинирани с познания за структурата на базата данни и целта на заявката в за да се стигне до някакво смислено заключение.

Пълното сканиране е просто най-ефективният начин за четене на голяма част от блоковете на сегмент от данни (таблица или таблица (под)раздел) и макар че често може да показва проблем с производителността, това е само в контекста дали е ефективен механизъм за постигане на целите на заявката. Говорейки като склад за данни и BI човек, моят номер едно предупредителен флаг за производителност е метод за достъп, базиран на индекс, и вложен цикъл.

И така, за механизма как да четете план за обяснение, документацията на Oracle е добро ръководство:http://download.oracle.com/docs/cd/B28359_01/server.111/b28274/ex_plan.htm#PFGRF009

Прочетете добре и Ръководството за настройка на производителността.

Имайте също и google за "отзиви за мощност", техника, при която може да се използва план за обяснение за сравняване на оценките на мощността на различни етапи в заявка с действителните мощности, изпитани по време на изпълнението. Според мен авторът на метода е Волфганг Брайтлинг.

И така, в крайна сметка:разберете механизмите за достъп. Разберете базата данни. Разберете целта на заявката. Избягвайте правилата.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Предайте контролата към конкретен ред, като използвате командата Goto Label в PLSQL

  2. Урок за ORACLE SQL*Plus

  3. Настройки на Django oracle db

  4. Функция TO_CHAR(число) в Oracle

  5. Erlang и неговата консумация на Heap памет