我很少(每月/每季度)使用 Microsoft SQL Server 2005 数据库视图生成数百份 Crystal Reports 报告。在我不读取这些视图的所有时间里,这些视图是否会浪费 CPU 周期和 RAM?因为我很少从视图中读取数据,所以我应该使用存储过程、临时表或短期普通表吗?
我不是 DBA,所以我不知道数据库服务器内部幕后发生了什么。
数据库视图是否可能过多?什么被认为是最佳实践?
在大多数情况下,这并不重要。是的,SQL Server 在解析 SELECT * FROM table 时会有更多选择(它必须在系统目录中查找“表”),但它对此进行了高度优化,并且前提是您有足够的 RAM(现在大多数服务器都有) ,您不会注意到 0 次观看次数和 1,000 次观看次数之间的差异。
然而,从人的角度来看,试图管理和弄清楚“数百个”视图正在做什么可能是不可能的,所以你可能有很多重复的代码。如果嵌入这些冗余视图中的某些业务规则发生变化,会发生什么情况?
视图的主要观点是将业务逻辑封装到伪表中(因此您可能有一个人员表,但随后有一个名为“active_persons”的视图,它具有一些魔力)。为每个报告创建视图有点愚蠢,除非每个报告都如此孤立和独特以至于无法重复使用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)