2
我想知道在查询中设置筛选条件(在WHERE子句中)之间的差异,而不是将它留在FilterExpression条件中,主要是在性能方面,尽管我我也对其他方面的差异和优势感兴趣。SSRS性能 - 筛选器性能vs WHERE条件
在此先感谢。
我想知道在查询中设置筛选条件(在WHERE子句中)之间的差异,而不是将它留在FilterExpression条件中,主要是在性能方面,尽管我我也对其他方面的差异和优势感兴趣。SSRS性能 - 筛选器性能vs WHERE条件
在此先感谢。
对WHERE子句进行筛选将限制实际生成报告的结果数量。这应该是更高性能的,因为报告不需要处理太多的数据。
FilterExpression过滤获取到报告的数据。
对于较小的结果集,结果应该可以忽略不计。对于较大的结果集,请使用WHERE子句。
FilterExpression将限制报告中显示的内容,并对内存中的数据进行操作。 WHERE将在RDBMS中工作,并限制从磁盘检索到的内容和报告引擎。 – ebyrob
如果要在报表中的多个对象中使用相同的查询结果,则筛选非常有用。在这种情况下,它可能(取决于具体情况)使用单个查询,然后在组件本身中对其进行过滤。 –
因此,如果WHERE子句提供最佳性能,那么在数据集中使用FilterExpressions有什么意义?我希望SSRS能够在幕后构建适当的查询,例如ORM。 –