Как любит отвечать администратор базы данных, «это зависит».
Это зависит от того, считает ли Oracle, что индекс поможет производительности. Если Oracle считает, что индекс не лучший выбор для запроса, Oracle все равно его не использует.
Это зависит от того, используете ли вы подготовленные операторы. Подготовленный оператор не подвергается повторному анализу в течение срока его действия, поэтому, если работающее приложение использует подготовленный оператор, который вы пытаетесь исправить, вам потребуется перезапустить приложение.
Очистка общего пула заставит Oracle повторно анализировать и повторно оптимизировать все операторы (жесткий анализ), поэтому, если Oracle считает, что индекс улучшит производительность, очистка общего пула поможет. Однако это также может иметь далеко идущие последствия в действующей производственной системе, вызывая «шторм синтаксического анализа», поскольку каждый используемый оператор должен быть повторно проанализирован и повторно оптимизирован, и его следует применять только в крайнем случае.
person
Adam Musch
schedule
22.07.2010