Tôi đang chạy SSRS 08. Truy vấn của tôi có bốn tham số (tất cả varchars). Tôi có thể chạy truy vấn thông qua studio quản lý và nó chạy dưới 10 giây. Tôi nhận được hiệu suất tương tự nếu tôi chạy truy vấn trong trình thiết kế truy vấn của Visual Studio.Truy vấn chạy nhanh nhưng báo cáo hiển thị chậm: cách gỡ lỗi này?
Tuy nhiên ... nếu tôi cố gắng xem trước báo cáo hoặc thực sự chạy báo cáo khi báo cáo được triển khai, báo cáo thực tế đôi khi mất hơn 5 phút. Tôi chạy một dấu vết và truy vấn có vẻ là vào/ra của phía máy chủ SQL một cách nhanh chóng. Làm thế nào tôi có thể tìm thấy nơi/tại sao tôi mất hiệu suất này? Tôi đã thử/kiểm tra cho đến nay như sau:
- Không có hình ảnh được tham chiếu trong báo cáo
- Không có nhóm/sắp xếp bên ngoài của các thủ tục lưu trữ
- Kể từ đó là một báo cáo thẳng về phía trước tôi xây dựng lại nó với cùng một kết quả (để kiểm tra xem nó không phải là một vấn đề của một báo cáo bị hỏng).
- chạy SQL dấu vết khi tôi thực hiện báo cáo này để chắc chắn rằng các truy vấn không có vấn đề
Dựa trên một số gợi ý trước khi tôi viết lại truy vấn sử dụng các biến thay vì các thông số như vậy
-- ...
-- Note: @Parameter is a varchar(40)
-- ...
declare @Var as varchar(40)
set @[email protected]
select * from table where [email protected]
Chạy theo dõi và nó không phải là một vấn đề ở phía truy vấn.
Bạn có thể chạy các truy vấn dưới đây để tìm ra đâu là overhead: chọn tên, TimeDataRetrieval, TimeProcessing, TimeRendering \t, TimeDataRetrieval + TimeProcessing + TimeRendering AS TotalTime, Format, thông số, tên người dùng, TimeStart TỪ dbo .ExecutionLog L WITH (NOLOCK) \t ĐỐI TÁC THAM GIA dbo.Catalog R WITH (NOLOCK) ON L.ReportID = R.ItemID WHERE Name = '' - cập nhật tham số cho tên báo cáo VÀ Định dạng> '' ĐẶT HÀNG THEO Tên Thời gian để truy vấn dữ liệu truy vấn, xử lý báo cáo và hiển thị. Nếu tất cả các biện pháp bình thường thì vấn đề là ở một nơi khác, không báo cáo các dịch vụ – niktrs