查询SSRS数据集中的视图与表

rry*_*man 3 sql sql-server reporting-services

在SSRS中使用数据集时是否有最佳实践?我应该为直接从表中提取的数据集编写查询,还是应该在源数据库中创建视图,然后通过数据集查询视图?

我理解在某些情况下视图会更好(集中视图以便在多个报表中使用)以及某些情况下表格查询会更好(如果您不允许访问在源数据库中创建视图或者如果您在一个报表中使用多个DB数据源).但是有任何性能影响吗?服务器是否仍然可以以与视图中的结果类似的方式缓存来自SSRS的数据集查询的结果?

任何见解将不胜感激:-)

OMG*_*ies 5

这取决于.

使用视图可以隔离数据模型更改 - 表可以更改,但只要您可以像以前一样获取数据,就可以了.视图只是一个SQL语句,就像运行子选择一样.由于封装,底层查询的风险更高,风险更高.使用物化视图(SQL Server中的索引视图)是一种使查询更快的选项,但要求非常有限.

如果您在众多报告中看到需要相同的信息 - 是的,请使用视图.否则直接查询表.

无论哪种方式,通过存储过程来做...


HLG*_*GEM 5

我会提醒您不要使用引用其他视图的视图。我已经看到这些会造成性能问题。