创建视图的注意事项:
(1)除非使用TOP N选项否则不能使用ORDER BY语句;
(2)不能使用INTO语句;
(3)不能使用临时表的列。
2、设计索引视图的几大要点。
尽量在很少更新(增删改)基础数据表上建立索引视图。
涉及大量聚合或联接的查询
数据量小查询较多的数据表
3、创建索引视图
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--创建索引视图
CREATE VIEW [dbo].[Product_Name]
with SCHEMABINDING
as
select ID,Name,CateID from [dbo].Product where CateID=3
GO
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
GO
--创建聚集索引
SET ARITHABORT ON
GO
SET CONCAT_NULL_YIELDS_NULL ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
SET ANSI_PADDING ON
GO
SET ANSI_WARNINGS ON
GO
SET NUMERIC_ROUNDABORT OFF
GO
/**//****** 对象: Index [Product_ViewIndex_ID] 脚本日期: 09/04/2007 23:25:33 ******/
CREATE UNIQUE CLUSTERED INDEX [Product_ViewIndex_ID] ON [dbo].[Product_Name]
(
[ID] ASC
)WITH (SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF) ON [PRIMARY]
GO
--创建非聚集索引
CREATE NONCLUSTERED INDEX [Product_ViewIndex_Name] ON [dbo].[Product_Name]
(
[Name] ASC
)
创建索引视图的注意事项:
当执行 CREATE VIEW 语句时,ANSI_NULLS 和 QUOTED_IDENTIFIER 选项必须设置为 ON。
要执行所有 CREATE TABLE 语句以创建视图引用的表,ANSI_NULLS 选项必须设置为 ON。
视图不能引用任何其他视图,只能引用基表。
视图引用的所有基表必须与视图位于同一数据库中,并且所有者也与视图相同。
必须使用 SCHEMABINDING 选项创建视图。架构绑定将视图绑定到基础基表的架构。