如何提高ssrs的速度报告

时间:2015-03-14 18:35:13

标签: sql-server reporting-services dynamics-crm-2011 ssrs-2012

我在MS CRM中使用Reporting Service我遇到了有关报告速度的问题。

我的报告在MS CRM上运行时速度很慢例如在SSMS中我的查询运行大约12秒但是当我在MS CRM上运行时它运行大约2分钟

有些报告说它运行缓慢然后我收到错误并且报告无法显示我不知道如何解决此问题

因此。我想知道一些提高报告速度的技巧 我有一个问题,它在下面的2个查询之间的速度更快

SELECT * FROM [A] LEFT JOIN [B] ON a = b 

SELECT * FROM [A] LEFT JOIN ( SELECT B1,B2 FROM [B]) b ON a = b.b1 

谢谢。

1 个答案:

答案 0 :(得分:1)

MSCRM报告查看器具有超时设置,如果在该时间内未成功生成报告,则会超时(即使报告仍在后台生成 - 您可以通过使用报告服务SSRS运行相同的报告来测试)

在MSCRM中生成报告的支持方式是使用视图和\或“过滤视图”。因为它们被称为具有所有链接表以用于安全性等而构建在&这使得它非常慢。如果不需要安全/格式化等方面,您可以选择SELECT * FROM Base或ExtensionBase表来加快生成时间(很多) - 解决您遇到的生成时间问题。

也是你的问题:第二个选择应该更快(仅)基于select *部分,因为第二个连接(B)将仅使用连接上的B1,B2。它会先做这件事,然后再将它加入A.

关于这个主题的一些好读物:Understanding Performance Mysteries