Тормоза при переходе с Oracle 8i на Oracle 9.2.0.7 |
|
|
Написал Mit
|
10.03.2006 |
Вопрос: после перехода с 8-ки на 9-ку многие действия в системе стали выполняться медленнее.
Ответ: да, действительно, наблюдалась такая ситуация. После некоторых поисков была обнаружена причина. Дело в том, что некоторые параметры CBO в 8 версии и в 9 различаются:
_unnest_subquery (true in 9i - false in 8i)
_push_join_predicate (true in 9i - false in 8i)
_push_join_union_view (true in 9i - false in 8i)
Есть два пути решения данной проблемы:
1. Самый быстрый, но на мой взгляд не самый правильный. Нужно в init.ora вставить следующую строку:
optimizer_features_enable=8.1.7
2. Можно определить проблемные места, определить процедуры, вьюхи и тд и тп связанные с данным разделом, и удалить во всех селектах данных объектов ВСЕ хинты.
Хочу заметить, что в оптимально написанном приложении Вы не заметите разницы от смены версии СУБД Oracle.
Использованы материалы с сайта sql.ru
|