我已经创建了一系列在相当大的表上操作的视图。该表已被正确索引,性能完全足够。我想在DB中添加一个额外的视图层,这些视图层实际上是视图的视图。我想知道的是,SQL Server在构建查询时是否足够聪明,可以使用基础表上的索引,或者我是否需要以某种方式为第一层视图建立索引?
发布于 2012-02-16 22:45:45
是的。视图(不是持久化的)只不过是存储在数据库中的一个查询。如果将名为view1的视图设置为select * from table1,而将select * from view1设置为select *,则SQL Server将自动将其转换为select* from table1,然后构建执行计划
如果增加了添加更多视图的对象链,同样的规则也适用。
https://stackoverflow.com/questions/9313233
复制相似问题