Есть 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 и как дать им профили и базовые показатели, но я надеюсь, что это даст вам представление об основах.