Вопрос

Есть два сервера базы данных, и я хочу сравнить их выступления.

Оба имеют операционную систему Windows и и базу данных Oracle (10.2.0.4 и 11.0.2).

Оба являются базами данных OLAP с 15-20 пользователями каждый. Hardwares разные, но у меня мало информации о конфигурациях.

На них есть похожие таблицы, и я использовал Объясните план Чтобы сравнить производительность запуска те же запросы SQL с точно такими же таблицами. (58 млн рядов, 60 столбцов).

я использовал select * from TABLE а также select count(*) from TABLE

Один объясняющий план показывает 00:35:00, а другие показывают 01:45:00 для столбца времени.

Я хочу узнать, если сравнивать планы, достаточно для сравнения выступлений, а если не то, что мне делать?

Это было полезно?

Решение

Вы не можете сравнить производительность 2 баз данных, просто посмотрев на их планы SQL. Те же вопросы могут иметь очень разные планы. Когда версии разные вычисления разных вычислений для стоимости разные. План, которому следует запрос в исполнении, вполне может отличаться от плана, который вы получаете из объяснения плана от вашего клиента.

Единственный способ сравнить производительность - это измерить выполнение запросов или процессов и сравнить эти сроки. Вы можете использовать AWR для сравнения производительности базы данных. Определенная рабочая нагрузка генерирует определенную, хотя и потребляет более или менее DBTIME. Если DBTIME, потраченный и прошедшее время вашей работы ниже, вы можете с уверенностью сказать, что производительность в этой базе данных лучше по сравнению с тем, где время выше.

В 11G, в соответствии с включенными задачами автоматической настройки и включенными профилями SQL Auto, вполне может быть, что следующий прогон уже показывает лучшие времена.

Другие советы

Способ сделать это с Повторите в базе данных, используя реальную рабочую нагрузку, полученную из вашей производственной системы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с dba.stackexchange
scroll top