Использование SPM (SQL Plan Management) - Oracle DB

Может ли SPM вызвать временную регрессию для SQL в случае ниже -

Сценарий:

1. Изменения в выходные (предположим), такие как огромная загрузка данных и задание по сбору статистики на выходных, вызывают изменение статистики, и, таким образом, это изменение требует использования нового плана выполнения для оптимальной работы.2. Теперь предположим, что в следующий раз задание приложения выполняется в понедельник утром, то есть перед периодом обслуживания SPM. Таким образом, к настоящему времени новый EP в SPM не утвержден и не принят (к утру понедельника), и поэтому SPM заставит использовать предыдущий план.3.Теперь этот предыдущий план (который в настоящее время принят в SPM) вызовет регресс, поскольку огромная загрузка данных на выходных изменила фактическую статистику. (пока новый план не будет проверен и принят в следующем окне развития).

В этом случае УСВ не может быть на 100% надежным, и в таком случае нужно будет проработать ручную эволюцию плана? или есть другой подход?

С уважением, Снеха

1 ответ

Это могло случиться, но в большинстве случаев этого не происходит. Обычно такие вещи, как распределение данных / ключей, существенно не меняются при обычных операциях. Когда новое приложение начинает расти, шансов немного больше, потому что поступает больше транзакций, которые будут помечены как завершенные. Вначале большинство из них будет новым, а через некоторое время большинство из них будет завершено.

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

Другие вопросы по тегам