我必须编写一个包含大量计算的查询。 使用此计算列创建索引视图而不是编写存储过程是否是个好主意?
答案 0 :(得分:3)
取决于!
如果您创建一个索引视图,您将根据更大的存储空间要求和更慢的插入,更新和更新来交易增加的成本。删除访问这些计算值的速度。如果您只想一次或偶尔使用这些值,那么在SP中按需计算它们可能会更好,但就像我说的那样,它取决于它!
还有其他因素需要考虑,包括:这些计算需要执行多少条记录?如果它只是少数,索引视图方法可能不合适,因为它可能会影响所有行,除非您使用可变的WHERE / HAVING子句限制它 - 请记住索引视图未参数化。
答案 1 :(得分:0)
当您处理在Datawarehouse或Datamarts等地方发现的大量记录时,我只建议使用索引视图。在这里,您将更多地阅读数据,然后写入数据,这样索引将帮助您而不是伤害您。