Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / селективность предикатов / 8 сообщений из 8, страница 1 из 1
19.04.2006, 22:56
    #33677788
Ident
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
селективность предикатов
Есть ли какие-то способы посмотреть прогнозируемую оптимизатором запросов селиктивность предикатов?

Хочется\требуется провести некоторые исследования, связанные с различными моделями постороения статистик(гистограмм). Для этого требуется отслеживать эффективность предсказания оптимизатором ресурсов, необходимых на каждом шаге исполнения запроса.

Возникает вопрос: как можно это организовать в MSSQL, DB2, PostgreSQL? Планы исполнения мы видим, видим реальное количество строчек на каждом шаге исполнения плана, а вот как увидеть прогнозные значения, которые предполагал оптимизатор, выбирая именно этот план?

Возможно в каких-то других СУБД это будет реализовать легче, не подскажите?

Заранее благодарен, Сергей.
...
Рейтинг: 0 / 0
20.04.2006, 10:02
    #33678242
Alexandr Kapustin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
селективность предикатов
Отвечу за Sybase ASE.

Есть там такая серверная утилитка - optdiag, которая позволяет выгрузить статистику, собранную сервером, в читабельный текстовый формат
Там для колонок, по которым собрана статистика, выводится гистограмма распределения значений в интервале. Шагов в гистограмме по умолчанию 20...
Вот по этой информации оптимизатор и определяет, сколько примерно значений ему придется выбрать...

--
WBR, Alexandr
...
Рейтинг: 0 / 0
20.04.2006, 10:12
    #33678274
Александр Гoлдун
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
селективность предикатов
Alexandr KapustinОтвечу за Sybase ASE.

Есть там такая серверная утилитка - optdiag, которая позволяет выгрузить статистику, собранную сервером, в читабельный текстовый формат

Аналогично в SQL Anywhere (ASA). Помимо текстового, гистрограммы можно получить в виде диаграмм Excel. Кроме того в SQL есть несколько функций, позволяющих получить оценку селективности по предикатам, индексам и т.п.
...
Рейтинг: 0 / 0
20.04.2006, 10:17
    #33678289
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
селективность предикатов
В оракле есть трассировка оптимизатора (A Look Under the Hood of CBO: The 10053 Event). Или проще "select * from dba_histograms".

В информиксе см. гистограмму: dbschema -d database -t table -hd table


-----------------------------------------------------------------------------------------------------------------------------------------
нужно делать то что нужно, а то что не нужно -- делать не нужно (перефразируя В-Пуха).
...
Рейтинг: 0 / 0
20.04.2006, 10:45
    #33678407
Funny_Falcon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
селективность предикатов
В PostgreSQL explain выдает именно прогнозируемое кол-во строчек для данного плана запроса, explain analize - +реальное. А полную статистику можно посмотреть в таблице pg_catalog.pg_statistic (с расшифровкой помочь не могу, но думаю, это реально, если задаться целью)
...
Рейтинг: 0 / 0
20.04.2006, 10:49
    #33678422
gardenman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
селективность предикатов
В DB2 есть такая фича - статический SQL. Так там до выполнения оператора план доступа уже определен. Кроме того есть куча таблиц в схеме SYSSTAT и, более того вы можете создать EXPALIN таблицы в которых будет сохраняться статистика на момент исполнения запроса и план который выбран + есть утилита db2expln где можно получить полное объяснение + графическое представление.
...
Рейтинг: 0 / 0
20.04.2006, 10:50
    #33678427
gardenman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
селективность предикатов
gardenmanВ DB2 есть такая фича - статический SQL. Так там до выполнения оператора план доступа уже определен. Кроме того есть куча таблиц в схеме SYSSTAT и, более того вы можете создать EXPALIN таблицы в которых будет сохраняться статистика на момент исполнения запроса и план который выбран + есть утилита db2expln где можно получить полное объяснение + графическое представление.
Да, еще в графическом предстваление есть все - кардинальность стоимость всей выборки, стоимость выборки первой записи, расхды на процессог и ио.
...
Рейтинг: 0 / 0
20.04.2006, 20:17
    #33680614
Ident
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
селективность предикатов
Спасибо товарищи.
Буду смотреть.
Диплом пишу, мало времени. Теоретическая часть проработана, а хотелось бы ручками получить результаты, чтобы не быть голословным.

Была затея влезть в опен-сорс субд, там автоматизировать лог этих параметров на реальной нагрузке в файл, а потом анализировать.
...
Рейтинг: 0 / 0
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / селективность предикатов / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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