У меня есть отчет в SSRS, который содержит два подотчета, но отображение окончательного отчета занимает очень много времени. Согласно журналу выполнения SSRS, отчет тратит примерно 140 мс на получение данных, примерно 20 минут на обработку и примерно 20 мс на рендеринг. Если я удалю любой из подотчетов (неважно, какой), время обработки уменьшится до ~10 минут. Если я удалю оба подотчета, время упадет до ~ 2 с. Совершенно очевидно, что мне нужно что-то делать с подотчетами; наверное попробуй интегрировать их в основной отчет.
Представляет ли статистика «TimeDataRetrieval» в журнале выполнения совокупное время извлечения данных для отчета и всех подотчетов или только для основного отчета (это означает, что время извлечения данных для подотчетов фактически добавляется к статистике «TimeProcessing») ?
Кроме того, когда я запускаю основной отчет в BIDS (Visual Studio), весь отчет возвращается через пару секунд. Почему отчет + 2 подотчета полностью отображаются в BIDS за пару секунд, а при просмотре с сервера отчетов то же самое занимает около 20 минут? Оба они обращаются к одной и той же базе данных SQL (извлечение данных с сервера SSRS занимает всего 140 мс), а сервер SSRS/SQL должен иметь достаточную мощность (работает на 8-ядерной виртуальной машине, которая не нарушает 1% использования ЦП).