在 SQL Server 中,我什么时候应该使用索引视图而不是真正的表?

Jus*_*ner 4 sql-server indexed-view

我知道在 SQL Server 中,您可以在视图上创建索引,然后视图保存基础表中的数据。然后就可以查询视图了。但是,为什么我需要使用视图而不是表格?

sam*_*amy 5

您可能希望使用视图来简化查询。在我们的项目中,共识是对接口使用视图,尤其是“报告接口”。

想象一下,您有一张客户表,经理每天早上都想要一份报告,其中包含客户的姓名和他们的帐户余额(或其他内容)。如果您根据表格对报告进行编码,则会在报告和表格之间创建强链接,从而使以后的更改变得困难。

另一方面,如果你的报表点击了一个视图,你可以自由地扭曲数据库;只要视图相同,报表就可以工作,经理很高兴,您可以自由地试验数据库。您想将客户端元数据与主客户端表分开吗?去吧,并加入视图中的两个表。您想对客户的购物车信息进行非规范化处理吗?没问题,视图可以适应......

老实说,这是我作为程序员的看法,但数据库大师肯定会发现其他用途:)