Lil*_*sey 24 t-sql sql-server performance views
使用SqlServer Views有什么缺点?
我经常创建视图以非规范化形式显示我的数据.
我发现查询其中一个连接更容易,因此更快,更容易出错,并且更多自我记录,而不是生成许多表之间复杂连接的复杂查询.特别是当我从不同的角度分析相同的数据(许多相同的字段,相同的表连接)时.
但创建和使用这些视图是否需要付费?
我是否放慢速度(或加速?)查询处理?
hyp*_*epy 19
来到Views时有优点和缺点.
好处:
缺点:
我个人的意见是不使用视图,而是使用存储过程,因为它们提供了视图的安全性和封装,但也提高了性能.
Pau*_*sik 11
使用视图的一个可能的缺点是,您抽象了底层设计的复杂性,这可能导致初级开发人员和报表创建者滥用.
对于一个特别大而复杂的项目,我设计了一组视图,这些视图主要由报表设计者用于填充水晶报表.几周后我发现初级开发人员已经开始使用这些视图来获取聚合并加入这些已经很大的视图,因为它们在那里并且易于使用.(数据库中有一个强大的EAV设计元素.)在初级开发人员开始询问为什么看似简单的报告需要花费很多时间才能执行之后,我发现了这一点.
视图的效率在很大程度上取决于底层表.视图实际上只是一种有组织的查看查询结果的一致方式.如果用于构成视图的查询是好的,并且在基础表上使用适当的索引,则视图不应对性能产生负面影响.
在SQL Server中,您还可以创建实体化或索引视图(自SQL Server 2000以来),这会在一定程度上提高速度.