powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / DB2 LUW - в чём измеряется Estimated Cost
6 сообщений из 6, страница 1 из 1
DB2 LUW - в чём измеряется Estimated Cost
    #36221733
Kru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброе время суток. Помогите понять значение Estimated Cost.

Есть запрос который работает порядка 7 минут.

Делаю его план -он выдает
Estimated Cost = 127.096161
Estimated Cardinality = 0.000000

Я боюсь, что я неправильно понимаю в чём измеряется Estimated Cost. Я думаю, что это I/O - но тогда как-так может быть что на 127 чтений требуется 7 минут.

Заранее большое спасибо
...
Рейтинг: 0 / 0
DB2 LUW - в чём измеряется Estimated Cost
    #36221981
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kru,

Добрый день.

Information about timerons and internal locks .
Оно выдаёт цену запроса по собранной статистике на данный момент.
Вы её на эти таблицы и их индексы когда в последний раз собирали?
...
Рейтинг: 0 / 0
DB2 LUW - в чём измеряется Estimated Cost
    #36223622
Kru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark BarinsteinKru,

Добрый день.

Information about timerons and internal locks .
Оно выдаёт цену запроса по собранной статистике на данный момент.
Вы её на эти таблицы и их индексы когда в последний раз собирали?

Марк, добрый день.
Статистика по таблицам входящим в запрос обновлялась за день до запроса.
Я прочитал статью на которую Вы мне прислали ссылку.
фрагмент из статьиHowever, do not rely on the timeron value to estimate performance of two different queries. It is a good rough barometer of equivalent performance only when comparing multiple runs of the same query. Comparing the timeron values of two different queries will not produce meaningful information for a comparative query performance benchmark.

Правильно я понимаю, что значение Estimated Cost имеет какой-либо смысл только если измерять один и тот же запрос - скажем для того чтобы смотреть как изменение объема данных влияет на него.
Но здесь такой вопрос - как быть если нужно запрос оптимизировать и скажем, местами переписать его или просто даже добавить индекс.

Ведь получится другой запрос и, согласно статье, сравнивать его стоимость с предыдущим не будет иметь никакого смысла.

Как же тогда понять, лучше ли стал запрос или нет?

Я сделал простой эксперимент. Взял мой запрос и закомментировал в нём одно из условий, так чтобы он перестал использовать опредёлённый индекс. Стоимость его возрасла со 127 до 49000 таймеронов, но что удивительно, он отработал за 34 секунды, в то время как старый запрос отработал за полторы минуты (вчера он работал 7 минут).

Неужели разница в таймеронах более чем в 300 раз не говорит ни о чём? Т.е запрос стоимостью в 49000 таймеронов может оказаться дешевле запроса который стоит 127?

Как же тогда быть и на что смотреть, чтобы видеть плоды оптимизации?

Заранее огромное спасибо
...
Рейтинг: 0 / 0
DB2 LUW - в чём измеряется Estimated Cost
    #36223742
mustaccio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kru[

Как же тогда быть и на что смотреть, чтобы видеть плоды оптимизации?


К примеру, на dynamic SQL snapshot.
...
Рейтинг: 0 / 0
DB2 LUW - в чём измеряется Estimated Cost
    #36223909
Kru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mustaccioKru[

Как же тогда быть и на что смотреть, чтобы видеть плоды оптимизации?


К примеру, на dynamic SQL snapshot.

Спасибо.
попробую подобраться к монитору.
...
Рейтинг: 0 / 0
DB2 LUW - в чём измеряется Estimated Cost
    #36224321
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kru,

1. А на индексы вы статистику собираете?
2. Если вы добавляете индекс не переписывая запрос, то это - тот же самый запрос.
3. Иногда оптимизатор ошибается в оценке плана.
Это бывает, например, из-за несвежей статистики, какого-то особенного распределения данных, невозможности оценить ожидаемое кол-во строк от какого-то соединения таблиц.
В помощь оптимизатору для этого можно использовать сбор статистики распределения данных в таблице, детальную статистику для индексов, статистические представления ( statistical views ).
Если вам лучше известно, какой должен быть план запроса, можно использовать профили оптимизации ( optimization profiles ).
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / DB2 LUW - в чём измеряется Estimated Cost
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]