【问题标题】:On Views and Indexes (SQL Server 2008 R2)关于视图和索引 (SQL Server 2008 R2)
【发布时间】:2012-02-16 14:41:36
【问题描述】:

我创建了一系列在一个相当大的表上运行的视图。该表已正确索引,性能完全足够。我想向数据库添加一个额外的视图层,它们是视图的有效视图。我想知道的是 SQL Server 是否足够聪明,可以在构建查询时使用基础表上的索引,或者我是否需要以某种方式索引第一层视图?

【问题讨论】:

  • 这可以通过执行计划显示轻松检查
  • 实际数据将从物理上包含数据的表或视图中获取。因此 Sql server 引擎除了使用所有可用的加速器,即 indeces 之外,无事可做。

标签: sql-server view indexing


【解决方案1】:

是的。视图(未持久化)只不过是存储在数据库中的查询。如果您有一个名为 view1 的视图作为 select * from table1 并执行 select * from view1,SQL Server 会自动将其转换为 select * from table1 然后构建执行计划

如果您增加对象链以添加更多视图,则适用相同规则。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 2017-09-07
    相关资源
    最近更新 更多