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

Как да разберете статистиката на файла за проследяване в Oracle. Като процесор, изминало време, заявка... и т.н

Най-малката единица за достъп до данни в Oracle Database е блок. Нито един ред.

Всеки блок може да съхранява много редове.

Базата данни има достъп до блок в текущ или последователен режим.

  • Текущ =тъй като блокът съществува „в момента“.
  • Постоянен =тъй като блокираният е съществувал по време на стартирането на вашата заявка.

Заявката и текущата колона отчитат колко пъти базата данни е осъществила достъп до блок в последователен (заявка) и текущ режим.

При достъп до блок той може вече да е в буферния кеш (памет). Ако е така, не е необходим достъп до диска. Ако не, трябва да извърши физическо четене (pr). Дисковата колона е броят на общите физически четения.

Статистиката за всеки ред в плана е цифрата за тази операция. Плюс сумата от всички дъщерни операции.

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

И така, базата данни обработи вашата заявка по следния начин:

  1. Прочетете 2000 реда от CUSTOMER. Това изискваше 749 последователни приемания на блокове и 363 четения на диск (cr и pr стойности на този ред). Това отне 10 100 микросекунди.
  2. Прочетете 112 458 реда от BOOKING. Това направи 8203 последователни четения и нула дискови четения. Това отне 337 595 микросекунди
  3. Съедини тези две таблици заедно с помощта на хеш съединение. Стойностите CR, PR, PW (физически записи) и времето са сумата от операциите под това. Плюс каквато и работа да свърши тази операция. Така хеш съединението:
    • извърши 8 952 - ( 749 + 8 203 ) =нула последователни четения
    • направи 363 - ( 363 + 0 ) =нула физически четения
    • отне 1 363 447 - ( 10 100 + 337 595 ) =1 015 752 микросекунди за изпълнение

Забелязвате, че общите стойности на CR и PR за хеш-съединяването съвпадат с сумите на заявката и диска в реда за извличане?

Колоната за преброяване отчита колко пъти е извършена тази операция. Извличането е извикване към базата данни за получаване на редове. И така, клиентът е извикал базата данни 7499 пъти. Всеки път, когато получи ceil( 112 458 / 7 499 ) =15 реда.

CPU е общото време в секунди, през което процесорите на сървъра са изпълнявали тази стъпка. Изминалото е общото време на стенен часовник. Това е процесорното време + всяка допълнителна работа. Като четене на диск, мрежово време и др.




  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. Pl/Sql тригер за промяна на формата на датата по подразбиране в Oracle

  3. MS Достъп до Oracle лесно преобразуване / миграция

  4. Как да разширя Liquibase за генериране на журнали за промени със съхранени процедури, функции и тригери?

  5. Избор на служители с рождени дни в даден диапазон с помощта на Oracle SQL