Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何向SQL视图添加索引?_Sql Server_Indexing_Sql View - Fatal编程技术网

Sql server 如何向SQL视图添加索引?

Sql server 如何向SQL视图添加索引?,sql-server,indexing,sql-view,Sql Server,Indexing,Sql View,这可能是一个简单的问题。我正在使用SQLServerManagementStudio,我想在视图上放置一个索引。选择字段作为主键的选项将变灰 任何帮助都将不胜感激!谢谢 不能在普通视图上创建索引,因为视图只是一个保存的查询,每次引用视图时都会运行该查询。它只需在视图本身引用的基础表上适当地使用索引。视图返回的数据实际上不存在于磁盘上的任何位置,因此没有任何东西可以用来创建索引 然而,一些数据库平台基本上能够将视图的内容缓存在磁盘上,就好像它本身就是一个表一样。它们可以检测基础数据何时更改,然后更

这可能是一个简单的问题。我正在使用SQLServerManagementStudio,我想在视图上放置一个索引。选择字段作为主键的选项将变灰


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

不能在普通视图上创建索引,因为视图只是一个保存的查询,每次引用视图时都会运行该查询。它只需在视图本身引用的基础表上适当地使用索引。视图返回的数据实际上不存在于磁盘上的任何位置,因此没有任何东西可以用来创建索引


然而,一些数据库平台基本上能够将视图的内容缓存在磁盘上,就好像它本身就是一个表一样。它们可以检测基础数据何时更改,然后更新视图。甲骨文称之为。SQL Server(坚持使用明显的名称)将此称为一个。当然,对这类视图的处理是有限制的,我经常发现它们很难处理涉及大量表的复杂查询。但是,对于基本的事情,它们应该工作得相当好。

这个问题缺乏足够的信息,我们无法帮助您。您的问题应该包含您为解决问题所做的尝试。@FreshPrinceOfSO我正在使用SQL Server Management Studio。对于表,有一个在字段上设置索引的选项。但在视图设计器中,这是灰色的。这是我所知道的唯一一次尝试。