Что такое значение хэша Plan в Oracle? - PullRequest
0 голосов
/ 12 ноября 2018

Что такое значение хэша Plan в Oracle? Означает ли это что-нибудь, связанное со временем выполнения запроса? Как мне найти время выполнения запроса в Oracle?

1 Ответ

0 голосов
/ 12 ноября 2018

Есть 3 представления, которые показывают операторы SQL, которые выполнялись в вашей SGA.

V$SQL shows stats and is updated every 5 seconds.
V$SQLAREA shows parsed statements in memory, ready to execute.
V$SQLSTATS has greater retention than V$SQL.

Так что, если вы посмотрите на V $ SQL, вы увидите, что каждый оператор имеет уникальный идентификатор SQL. Когда оператор анализируется, oracle генерирует план объяснения для SQL, а затем связывает этот план со значением хеша, которое является уникальным значением для этого плана. Определенные факторы могут вызвать изменение плана, заставляя его выполнять лучше или хуже. Затем вы получите новый план и новое хеш-значение для этого плана.

Чтобы увидеть историю этого, посмотрите на представление DBA_HIST_SQL_PLAN.

Существует гораздо больше теории о планах объяснения и о том, как оптимизировать операторы SQL и как дать им профили и базовые показатели, но я надеюсь, что это даст вам представление об основах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...