|
|
|
SQL Reporting 2005 производительность
|
|||
|---|---|---|---|
|
#18+
Приветствую, коллеги. Столкнулся со следующей проблемой. Есть отчет на выборку большого объема данных. Выложен на Report server'e, запускаю его через веб-интерфейс. При заданных параметрах отчет формируется 20 минут. Запрос, который выбирает данные, с теми же параметрами (прямо из профайлера запрос вытащил) выполняется на той же машине 4 минуты. Кэши чистил. Внутри отчета нет ни группировок, ни сортировок. Просто результаты выборки тупо выводятся в таблицу в details. Согласно профайлеру, запрос действительно выполняется 20 минут, если запускать рендеринг отчета из веб-интерфейса. Если просто из SQL Management Studio - 4 минуты. Если создать заранее таблицу и запихнуть туда все данные, получаемые запросом, то отчет по select * из этой таблицы выполняется за секунды (т.е. сам механизм рендеринга тут не причем). Сижу, ломаю голову - куда копать? P.S. Оптимизацию самого запроса производил, индексы делал и т.п. Непонятна такая существенная разница при выполнении запроса report server'ом и просто "ручками". P.P.S. Запрос тяжелый, с табличными переменными. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2008, 10:40 |
|
||
|
SQL Reporting 2005 производительность
|
|||
|---|---|---|---|
|
#18+
Возможно, дело в пользователе от имени которого выполняется отчет. Админ-не админ, owner-не owner. И в схеме БД. Вы к объектам БД (таблицам, представлениям, функциям, процедурам) в запросе обращаетесть указывая схему (dbo.<Имя таблицы>) или просто по имени? Если не указываете схему и обращаетесь от имени простого юсера, то вроде как не используется набранная статистика, индексы и т.п. Слышал я такой звон... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2008, 13:10 |
|
||
|
SQL Reporting 2005 производительность
|
|||
|---|---|---|---|
|
#18+
Ghola, Нет. Reporting services, и все отчеты настроены на работу под моим аккаунтом с виндовой аутентификацией. Запрос выполнялся из коннекшена с такими же параметрами соединения. Неожиданно нашлось решение (шаманский бубен), но механизм все равно не ясен. Заменил использование всех табличных переменных на темповые таблицы. Вместо 20 минут, запрос теперь строится 20 секунд. Но понятней от этого не стало. Может кому-то этот experience поможет - аминь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2008, 14:01 |
|
||
|
SQL Reporting 2005 производительность
|
|||
|---|---|---|---|
|
#18+
Ого! Действительно ценно, спасибо. А какой примерно характерный объём данных во временных таблицах? Многократный проход? Очевидно Вы использовали в них индексы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2008, 14:15 |
|
||
|
SQL Reporting 2005 производительность
|
|||
|---|---|---|---|
|
#18+
А механизм возможно в том, что RS вроде как кеширует сгенерированные раньше запросы и если параметры относительно кешированного не менялись - берёт результат из кеша. Но это вроде как возможно только если использованные датасеты - детерминированные. Возможно, имеет место кеширование результатов самих запросов на SQL - сервере. У вас среди параметров запроса(датасета) есть значения типа datetime или smalldatetime? Если да - то запрос недетерминированный. Также после долгого простоя RS имеет тенденцию медленно стартовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2008, 14:23 |
|
||
|
SQL Reporting 2005 производительность
|
|||
|---|---|---|---|
|
#18+
Прошу простить за дичайший некропостинг, но возможно ли более подробно расшифровать: "Заменил использование всех табличных переменных на темповые таблицы." - что это значит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2012, 08:56 |
|
||
|
SQL Reporting 2005 производительность
|
|||
|---|---|---|---|
|
#18+
MIKron1991Прошу простить за дичайший некропостинг, но возможно ли более подробно расшифровать: "Заменил использование всех табличных переменных на темповые таблицы." - что это значит? Вместо @table стал писать #table. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2012, 09:45 |
|
||
|
SQL Reporting 2005 производительность
|
|||
|---|---|---|---|
|
#18+
2Klick , спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2012, 03:31 |
|
||
|
SQL Reporting 2005 производительность
|
|||
|---|---|---|---|
|
#18+
А если в общем можно поднять вопрос, то чем еще может быть вызвана нестабильная работа отчетов? Под нестабильной работой я подразумеваю время выполнения - отчет из 7 тысяч строк может прогрузиться за секунды 2-3, а может висеть минуты 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2012, 09:28 |
|
||
|
SQL Reporting 2005 производительность
|
|||
|---|---|---|---|
|
#18+
MIKron1991А если в общем можно поднять вопрос, то чем еще может быть вызвана нестабильная работа отчетов? Под нестабильной работой я подразумеваю время выполнения - отчет из 7 тысяч строк может прогрузиться за секунды 2-3, а может висеть минуты 3. сам сталкивался с такой проблемой. Если возникают такие тормоза, просто обновляешь статистику во всех Базах, тогда отчеты выполняются за секунды. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2012, 16:34 |
|
||
|
|

start [/forum/topic.php?fid=31&msg=35609320&tid=1534535]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
151ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 484ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...