Запрос выполняется быстро, а отчет - медленно: как это отладить? - PullRequest
16 голосов
/ 12 сентября 2011

Я использую SSRS 08. Мой запрос имеет четыре параметра (все varchars).Я могу выполнить запрос через Management Studio, и он выполняется менее чем за 10 секунд.Я получаю ту же производительность, если я запускаю запрос в конструкторе запросов Visual Studio.

Однако ... если я пытаюсь просмотреть отчет или фактически запустить отчет после его развертывания, то фактический отчет иногда занимает более 5 минут.Я выполнил трассировку, и запрос, кажется, быстро входит в / из стороны сервера SQL.Как я могу найти, где / почему я теряю это представление?Я пробовал / проверял до сих пор следующее:

  • Нет ссылок на изображения в отчете
  • Нет группировки / сортировки вне хранимой процедуры
  • Так как этопрямой отчет Я перестроил его с тем же результатом (чтобы проверить, не является ли это проблемой поврежденного отчета).
  • запустил трассировку SQL, когда я выполнил отчет, чтобы убедиться, что запрос не имеет проблем

Основываясь на некоторых предложениях, прежде чем я переписал запрос, чтобы использовать переменные вместо параметров, например,

    -- ...
    -- Note: @Parameter is a varchar(40) 
    -- ...
    declare @Var as varchar(40) 
    set @var=@parameter

    select * from table where fieldvalue=@var

Запустил трассировку, и это не проблема на стороне запроса.

Ответы [ 3 ]

2 голосов
/ 01 июня 2016

У меня были проблемы с выводом html-отчета при получении 32000 строк. В моем случае мне пришлось активировать «Интерактивный пейджинг», чтобы пользователь мог видеть первую страницу и мог генерировать файл Excel. Преимущество заключается в том, что первая страница отображается быстро, и пользователь может генерировать экспорт в Excel или PDF, минус в том, что пользователь может прокручивать только текущую страницу. Если пользователь хочет видеть больше контента, он должен использовать навигационные кнопки над сеткой. В моем случае пользователь принял это поведение, потому что экспорт в Excel был важнее.

Чтобы активировать «Интерактивный пейджинг», необходимо щелкнуть свободную область на панели отчетов и изменить свойство «InteractiveSize» \ «Высота» на уровне отчета на панели «Свойства». Установите для этого свойства значение, отличное от 0. Я установил значение 8,5 дюймов в моем случае. Также убедитесь, что вы сняли флажок «Хранить вместе на одной странице, если это возможно» на уровне Tablix (щелкните правой кнопкой мыши Tablix, затем «Свойства Tablix», затем «Общие» \ «Параметры разрыва страницы»). Report Properties pane

0 голосов
/ 13 сентября 2011

Я думаю, что, возможно, нашел свой ответ в потоке social.msdn.microsoft.com http://social.msdn.microsoft.com/Forums/en-US/sqlreportingservices/thread/1e34dc76-4d78-4376-89b0-7c381ed82726/

Я снял флажок с параметра «Сохранить вместе», и теперь он на самом деле предварительно просматривает данные, поступающие с сервера, и я могу экспортировать отчет. Значительное улучшение

0 голосов
/ 13 сентября 2011

Некоторое время назад я устранял подобную проблему, и она оказалась связана с браузером, который я использовал для просмотра отчета.Если отчет возвращает на экран много данных, рассмотрите возможность разделения его на несколько страниц, если он еще не настроен таким образом.

Почему Business Intelligence Studio загружает отчеты быстрее, чем сервер отчетов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...