可索引的视图集合是可能的视图集合的一个子集。任何可索引的视图在有或没有索引的情况下都可存在。
除了设计方针(“使用 SET 选项获得一致的结果”和“使用具有确定性的函数”这两节)中所列的要求外,还必须满足下列要求,以便在视图上创建唯一的聚集索引。
| • |
视图所引用的基表必须具有在创建表时所设的 SET 选项 ANSI_NULLS 的正确的值。可用 OBJECTPROPERTY 函数检查现有表上的 ANSI_NULLS 的值。 |
| • |
必须使用 WITH SCHEMABINDING 选项创建视图所引用的用户定义的函数。 |
| • |
必须使用 WITH SCHEMABINDING 选项创建视图。 |
| • |
必须由使用双结构名称 (schemaname.tablename) 的视图引用表。 |
| • |
必须由使用双结构名称 (schemaname.functionname) 的视图引用用户定义的函数。 |
| • |
必须正确设置 SET 选项 ANSI_NULLS 和 QUOTED_IDENTIFIER。 |
如要在 SQL Server 2005 中的视图上创建一个索引,相应的视图定义必须包含:
|
ANY、NOT ANY |
OPENROWSET、OPENQUERY、OPENDATASOURCE |
|
不精确的(浮型、实型)值上的算术 |
OPENXML |
|
COMPUTE、COMPUTE BY |
ORDER BY |
|
CONVERT 生成一个不精确的结果 |
OUTER 联接 |
|
COUNT(*) |
引用带有一个已禁用的聚集索引的基表 |
|
GROUP BY ALL |
引用不同数据库中的表或函数 |
|
派生的表(FROM 列表中的子查询) |
引用另一个视图 |
|
DISTINCT |
ROWSET 函数 |
|
EXISTS、NOT EXISTS |
自联接 |
|
聚合结果(比如:SUM(x)+SUM(x))上的表达式 |
STDEV、STDEVP、VAR、VARP、AVG |
|
全文谓词 (CONTAINS、FREETEXT、CONTAINSTABLE、FREETEXTTABLE) |
子查询 |
|
不精确的常量(比如:2.34e5) |
可为空的表达式上的 SUM |
|
内嵌或表值函数 |
表提示(比如:NOLOCK) |
|
MIN、MAX |
text、ntext、image、filestream 或 XML 列 |
|
不具有确定性的表达式 |
TOP |
|
非 unicode 排序 |
UNION |
|
SQL Server 2005 可检测到的矛盾情况表示视图将为空(比如,当 0=1 及 ...) |
|
注意 索引视图可能包含浮型和实型列;但是,如果这类列为非永久性的计算列,则不能包含在聚集索引键中。
如果存在 GROUP BY,VIEW 定义为:
| • |
一定包含 COUNT_BIG(*)。 |
| • |
一定不包含 HAVING、CUBE、ROLLUP 或 GROUPING()。 |
这些限制仅适用于索引视图定义。即便不能满足上述 GROUP BY 限制,查询也可以在其执行计划中使用索引视图。
| • |
执行 CREATE INDEX 语句的用户必须是视图所有者。 |
| • |
如果视图定义包含 GROUP BY 子句,唯一的聚集索引的键只能引用 GROUP BY 子句所指定的列。 |
| • |
一定不能在启用 IGNORE_DUP_KEY 选项的情况下创建索引。 |
|
|||
| · OSPF路由协议专栏 · 思科路由器产品 · 华为路由器产品 · 路由器模拟器 · AIX操作系统管理应用(.. · 思科路由器配置 · 路由器组网解决方案 · 路由器密码恢复 |
· 无线路由器故障处理 · 路由故障处理手册 · 路由器访问控制列表(AC.. · 路由器的安全配置与安.. · 无线路由器配置 · 路由器技巧 · 华为路由器配置 · 路由器配置基础 |
||
|
|||
| · Java基础教程 · VPN技术 · SQL Server 2005全解 · ARP攻击防范与解决方案 · SOA 面向服务架构 · SQL Server 2005全解 · Java编程开发手册 · 三层交换技术专题 |
· SQL Server入门到精通 · Windows Server 2003企.. · Windows远程桌面应用 · C#技术开发指南 · VPN技术 · Solaris 10 配置管理 · C#技术开发指南 · Windows操作系统安装 |
||
|
|||
| · VPN技术 · ARP攻击防范与解决方案 · SQL Server 2005全解 · Java基础教程 · SQL Server入门到精通 · SQL Server 2005全解 · SOA 面向服务架构 · Java编程开发手册 |
· C#技术开发指南 · 三层交换技术专题 · C#技术开发指南 · Windows远程桌面应用 · Windows Server 2003企.. · 邮件服务器专题 · wimax技术与趋势 · Windows操作系统安装 |
||
| ·DB2 Viper快速入门 ·DB2 9数据库的镜像分割与.. |
·将XML应用程序从DB2 8.x.. ·DB2 9中的pureXML:如何.. |
| ·服务器中的“傻瓜机”在.. ·盖茨也喜欢登录Youtube看.. |
· · |
| · 职场冲浪(之八):让感.. ·职场冲浪(之七):潜心.. |
·人生如鞋 ·职场冲浪(之六):从离梦最.. |
| ·将职业教育职业化 - 各IT.. ·思科交换机上实现MAC地址.. |
·关于51CTO合作出书中的职.. ·OSPF动态路由协议入门简介 |
| · NGN:下一代网络 · 网络访问中断大排查 · FTTx光纤接入 |
· 平凡黑客讲述精彩人生(.. · 平凡黑客讲述精彩人生(.. · 平凡黑客讲述精彩人生(.. |
| · C++是垃圾语言?! · 2007年IT界七大抄袭事件 · Java实用开发全集 |
· 解析Ajax开发框架 走进A.. · 基于Google Maps与Ajax.. · 基于Google Maps与Ajax.. |
| · Ubuntu 中文开源频道 · Solaris基础知识入门 · 微软正式发布英文版Wind.. |
· 服务器基础知识入门 · Rambus第二?看全缓冲内.. · 服务器节能对比测试:AM.. |
| · 甲骨文Oracle 11g正式发.. · Oracle数据库开发之PL/S.. · Oracle数据库开发基础教.. |
· 存储2006,一个并购的大.. · IDC宣布浪潮蝉联存储市.. · 双机热备技术 |