"уникальные" запросы в 99.99999999% случаев - это динамический SQL, где запросы отличаются лишь литералом. Для них по факту строятся одни и те же планы. За такое надо лупить по рукам разработчиков, т.к. на каждый запрос действительно будет строиться один и тот же план с жёстким разбором.
Хотя и для этой ситуации есть обходной путь - это использование параметра CURSOR_SHARING. Если установить его в FORCE, то Оракл, если есть подозрение на идентичность, будет насильно запросам, которые отличаются лишь литералами, применять один и тот же готовый план.
> Это что за ситуация, где миллионы уникальных запросов? Бывают такие приложения (особенно когда их много работает в одной базе), "разнообразные". ;) > динамический SQL, где запросы отличаются лишь литералом. Для них по факту строятся одни и те же планы. За такое надо лупить по рукам разработчиков Да, неплохо бы. ;) Но в реальности "лупить" зачастую уже некого, а бывает и так, что и с запросами сделать ничего нельзя. > если есть подозрение на идентичность Да это всё понятно. А вот если у меня есть не подозрение, а уверенность в том, что запросы, в основном, уникальные — возможно ли отключить (возможно, выборочно) сам механизм кеширования?
Обсуждают сегодня