#performance #oracle
#Производительность #Oracle
Вопрос:
У меня есть отчет в Evisions Argos, который выполняется за 1-2 минуты на одном сервере и почти час на другом. Это точно такой же блок данных с точно таким же кодом, просто работающий с другой базой данных.
Я не буду показывать здесь сценарий, я просто хочу знать, какие вещи должен проверять наш администратор Argos (у меня нет доступа к серверу, я просто разработчик DataBlock).
Ответ №1:
Настройка производительности Oracle — обширная тема. Есть люди, которые зарабатывают (очень хорошо) на жизнь, настраивая запросы других людей. Так что особой радости вы здесь не получите.
Но общий совет на самом деле довольно очевиден: если один и тот же запрос выполняется по-разному в двух разных средах, причина должна быть в некоторой разнице между ними.
- Объемы данных (количество строк)
- Распределение данных (данные разработки или тестирования могут иметь характеристики, отличные от реальных данных)
- Структуры данных (индексы, материализованные представления)
- Устаревшая статистика
- Аппаратное обеспечение — объем оперативной памяти, качество ввода-вывода, размер и тип хранилища.
- Конфликт ресурсов (больше пользователей, разные типы пользователей, например, длительные отчеты)
Для диагностики проблем с производительностью можно использовать всевозможные инструменты. Это зависит от того, какая у вас версия базы данных, какой выпуск вы лицензировали, а также от того, есть ли у вас какие-либо платные опции.
Но, несмотря на это, первое, с чего нужно начать, — это с документации. Узнайте больше.