如何提高ssr中的报告速度
how to increase speed report in ssrs
我在 MS CRM 中使用 Reporting Service 我对报告速度有疑问。
我的报告在 MS CRM 上 运行 时很慢例如在 SSMS 中我的查询 运行 大约 12 秒但是当我在 MS CRM 运行 上时它是 运行 大约2 分钟
有些报告 运行 很慢然后我收到错误报告无法显示我不知道如何解决这个问题
所以。我想知道一些提高报告速度的技巧
我有 1 个问题
以下 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
谢谢。
MSCRM Report Viewer 有一个超时设置,如果在那个时间内没有成功生成报告,它将超时(即使报告仍在后台生成 - 您可以通过 运行 相同的方式进行测试使用报告服务 SSRS 进行报告)。
在 MSCRM 中生成报告的受支持方式是使用视图 and\or 'filteredviews',因为它们被调用,其中包含所有用于安全等的链接表。这使得它非常慢。如果不需要 security/formatting 等方面,您可以 SELECT * FROM Base 或 ExtensionBase 表,这将加快生成时间(很多) - 解决您遇到的生成时间问题。
还有你的问题:第二个 select 应该更快(仅)基于 select * 部分,因为第二个连接 (B) 将仅在连接上使用 B1、B2。它会先做这件事情,然后相应地把它加入到 A 中。
一些关于该主题的好读物:Understanding Performance Mysteries
我在 MS CRM 中使用 Reporting Service 我对报告速度有疑问。
我的报告在 MS CRM 上 运行 时很慢例如在 SSMS 中我的查询 运行 大约 12 秒但是当我在 MS CRM 运行 上时它是 运行 大约2 分钟
有些报告 运行 很慢然后我收到错误报告无法显示我不知道如何解决这个问题
所以。我想知道一些提高报告速度的技巧 我有 1 个问题
以下 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
谢谢。
MSCRM Report Viewer 有一个超时设置,如果在那个时间内没有成功生成报告,它将超时(即使报告仍在后台生成 - 您可以通过 运行 相同的方式进行测试使用报告服务 SSRS 进行报告)。
在 MSCRM 中生成报告的受支持方式是使用视图 and\or 'filteredviews',因为它们被调用,其中包含所有用于安全等的链接表。这使得它非常慢。如果不需要 security/formatting 等方面,您可以 SELECT * FROM Base 或 ExtensionBase 表,这将加快生成时间(很多) - 解决您遇到的生成时间问题。
还有你的问题:第二个 select 应该更快(仅)基于 select * 部分,因为第二个连接 (B) 将仅在连接上使用 B1、B2。它会先做这件事情,然后相应地把它加入到 A 中。
一些关于该主题的好读物:Understanding Performance Mysteries