Самая маленькая единица доступа к данным в базе данных Oracle - это блок.Не ряд.
Каждый блок может хранить много строк.
База данных может получить доступ к блоку в текущем или согласованном режиме.
- Текущий = поскольку блок существует «прямо сейчас».
- Согласовано = поскольку блокировка существовала на момент начала запроса.
Запрос и текущие столбцы сообщают, сколько раз база данных обращалась к блоку в согласованном (запрос) и текущем режиме.
При обращении к блоку он может уже находиться в буферном кеше(объем памяти).Если это так, доступ к диску не требуется.Если нет, он должен сделать физическое чтение (pr).Столбец диска - это счетчик всех физических чтений.
Статистические данные для каждой строки в плане - это цифры для этой операции.Плюс сумма всех его дочерних операций.
Проще говоря, база данных обрабатывает план, сначала обращаясь к первому дочернему элементу.Затем передает строки до родителя.Затем все остальные дочерние элементы этого родителя в порядке.Дочерние операции имеют отступ от своего родителя на дисплее.
Таким образом, база данных обработала ваш запрос следующим образом:
- Считать 2000 строк из CUSTOMER.Для этого потребовалось 749 последовательных блоков и 363 чтения с диска (значения cr и pr в этой строке).Это заняло 10 100 микросекунд.
- Прочитать 112 458 строк из BOOKING.Это сделало 8 203 последовательных чтения и нулевые чтения с диска.Это заняло 337 595 микросекунд
- Объединение этих двух таблиц с помощью хеш-соединения.CR, PR, PW (физическая запись) и значения времени являются суммой операций ниже этого.Плюс любая работа, которую проделала эта операция.Таким образом, хеш-соединение:
- выполнено 8,952 - (749 + 8,203) = нулевое согласованное чтение
- выполнено 363 - (363 + 0) = нулевое физическое чтение
- заняло 1,363,447 -(10 100 + 337 595) = 1 015 752 микросекунды для выполнения
Обратите внимание, что итоговые значения CR & PR для хеш-соединения соответствуют запросу и итоговым значениям диска в строке выборки?
В столбце подсчета указано, сколько раз происходила эта операция.Выборка - это вызов базы данных для получения строк.Таким образом, клиент вызывал базу данных 7,499 раз.Каждый раз, когда он получал ceil (112 458/7 499) = 15 строк.
CPU - общее время в секундах, в течение которого процессоры сервера выполняли этот шаг.Истекшее время - общее время настенных часов.Это время процессора + любая дополнительная работа.Например, чтение с диска, сетевое время и т. Д.