У меня есть таблица и запрос (в пакете PL / SQL) для доступа к этой таблице.Статистические данные собираются еженедельно.
В таблице было выполнено большое обновление, в результате чего распределение данных по конкретному индексируемому столбцу существенно отличается.План запросов, используемый Oracle (который я вижу из v$sqlarea
), является неоптимальным.Если я возьму explain plan
для того же * запроса из SQL * Plus, вернется хороший план.
С тех пор я собрал статистику по таблице.Oracle по-прежнему использует план запроса, который был изначально разработан.v$sqlarea.last_load_time
предполагает, что это был план, сгенерированный до генерации статистики.Я думал, что восстановление статистики приведет к аннулированию планов в кеше SQL.
Есть ли способ удалить только этот оператор из кеша SQL?
(* Не посимвольный, соответствуетв SQL-кэше то же самое, но то же утверждение).