powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / SQL Reporting 2005 производительность
10 сообщений из 10, страница 1 из 1
SQL Reporting 2005 производительность
    #35608499
rgb-dart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую, коллеги.

Столкнулся со следующей проблемой. Есть отчет на выборку большого объема данных. Выложен на Report server'e, запускаю его через веб-интерфейс.
При заданных параметрах отчет формируется 20 минут.
Запрос, который выбирает данные, с теми же параметрами (прямо из профайлера запрос вытащил) выполняется на той же машине 4 минуты. Кэши чистил.
Внутри отчета нет ни группировок, ни сортировок. Просто результаты выборки тупо выводятся в таблицу в details.
Согласно профайлеру, запрос действительно выполняется 20 минут, если запускать рендеринг отчета из веб-интерфейса. Если просто из SQL Management Studio - 4 минуты.
Если создать заранее таблицу и запихнуть туда все данные, получаемые запросом, то отчет по select * из этой таблицы выполняется за секунды (т.е. сам механизм рендеринга тут не причем).

Сижу, ломаю голову - куда копать?

P.S. Оптимизацию самого запроса производил, индексы делал и т.п. Непонятна такая существенная разница при выполнении запроса report server'ом и просто "ручками".
P.P.S. Запрос тяжелый, с табличными переменными.
...
Рейтинг: 0 / 0
SQL Reporting 2005 производительность
    #35609015
Ghola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно, дело в пользователе от имени которого выполняется отчет. Админ-не админ, owner-не owner. И в схеме БД. Вы к объектам БД (таблицам, представлениям, функциям, процедурам) в запросе обращаетесть указывая схему (dbo.<Имя таблицы>) или просто по имени? Если не указываете схему и обращаетесь от имени простого юсера, то вроде как не используется набранная статистика, индексы и т.п.
Слышал я такой звон...
...
Рейтинг: 0 / 0
SQL Reporting 2005 производительность
    #35609249
rgb-dart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ghola,

Нет. Reporting services, и все отчеты настроены на работу под моим аккаунтом с виндовой аутентификацией. Запрос выполнялся из коннекшена с такими же параметрами соединения.

Неожиданно нашлось решение (шаманский бубен), но механизм все равно не ясен. Заменил использование всех табличных переменных на темповые таблицы. Вместо 20 минут, запрос теперь строится 20 секунд. Но понятней от этого не стало. Может кому-то этот experience поможет - аминь.
...
Рейтинг: 0 / 0
SQL Reporting 2005 производительность
    #35609320
Ghola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ого! Действительно ценно, спасибо. А какой примерно характерный объём данных во временных таблицах? Многократный проход? Очевидно Вы использовали в них индексы?
...
Рейтинг: 0 / 0
SQL Reporting 2005 производительность
    #35609351
Ghola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А механизм возможно в том, что RS вроде как кеширует сгенерированные раньше запросы и если параметры относительно кешированного не менялись - берёт результат из кеша. Но это вроде как возможно только если использованные датасеты - детерминированные. Возможно, имеет место кеширование результатов самих запросов на SQL - сервере. У вас среди параметров запроса(датасета) есть значения типа datetime или smalldatetime? Если да - то запрос недетерминированный.

Также после долгого простоя RS имеет тенденцию медленно стартовать.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
SQL Reporting 2005 производительность
    #37734106
MIKron1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу простить за дичайший некропостинг, но возможно ли более подробно расшифровать:
"Заменил использование всех табличных переменных на темповые таблицы." - что это значит?
...
Рейтинг: 0 / 0
SQL Reporting 2005 производительность
    #37734156
Klick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MIKron1991Прошу простить за дичайший некропостинг, но возможно ли более подробно расшифровать:
"Заменил использование всех табличных переменных на темповые таблицы." - что это значит?

Вместо @table стал писать #table.
...
Рейтинг: 0 / 0
SQL Reporting 2005 производительность
    #37735561
MIKron1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2Klick , спасибо.
...
Рейтинг: 0 / 0
SQL Reporting 2005 производительность
    #37735697
MIKron1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А если в общем можно поднять вопрос, то чем еще может быть вызвана нестабильная работа отчетов? Под нестабильной работой я подразумеваю время выполнения - отчет из 7 тысяч строк может прогрузиться за секунды 2-3, а может висеть минуты 3.
...
Рейтинг: 0 / 0
SQL Reporting 2005 производительность
    #37740612
minya13_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MIKron1991А если в общем можно поднять вопрос, то чем еще может быть вызвана нестабильная работа отчетов? Под нестабильной работой я подразумеваю время выполнения - отчет из 7 тысяч строк может прогрузиться за секунды 2-3, а может висеть минуты 3. сам сталкивался с такой проблемой. Если возникают такие тормоза, просто обновляешь статистику во всех Базах, тогда отчеты выполняются за секунды.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / SQL Reporting 2005 производительность
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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