Sql server存储了带有计算值的proc

时间:2010-08-19 15:35:27

标签: sql-server

我必须编写一个包含大量计算的查询。 使用此计算列创建索引视图而不是编写存储过程是否是个好主意?

2 个答案:

答案 0 :(得分:3)

取决于!

如果您创建一个索引视图,您将根据更大的存储空间要求和更慢的插入,更新和更新来交易增加的成本。删除访问这些计算值的速度。如果您只想一次或偶尔使用这些值,那么在SP中按需计算它们可能会更好,但就像我说的那样,它取决于它!

还有其他因素需要考虑,包括:这些计算需要执行多少条记录?如果它只是少数,索引视图方法可能不合适,因为它可能会影响所有行,除非您使用可变的WHERE / HAVING子句限制它 - 请记住索引视图未参数化。

答案 1 :(得分:0)

当您处理在Datawarehouse或Datamarts等地方发现的大量记录时,我只建议使用索引视图。在这里,您将更多地阅读数据,然后写入数据,这样索引将帮助您而不是伤害您。