如何向SQL视图添加索引?

时间:2014-02-06 17:27:20

标签: sql-server indexing sql-view

这可能很简单。我正在使用SQL Server Management Studio,我想在我的View上放置一个索引。选择字段作为主键的选项显示为灰色。

任何帮助将不胜感激!谢谢!

1 个答案:

答案 0 :(得分:1)

您无法在普通视图上创建索引,因为视图只是每次引用视图时都会运行的已保存查询。它将简单地在视图本身引用的基础表上使用索引。视图返回的数据在磁盘上的任何地方都没有存在,因此无法创建索引。

但是,有几个数据库平台能够基本上缓存磁盘上视图的内容,就像它本身就是一个表一样。他们可以检测基础数据何时发生变化,然后更新视图。 Oracle称之为materialized view。 SQL Server(坚持使用明显的名称)称之为Indexed View。对于使用这些类型的视图可以做什么当然有限制,我经常发现它们很难适应涉及大量表的复杂查询。但是,对于基本的东西,他们应该工作得很好。