mssql sqlserver 创建xml索引的方法分享


摘要:
下文通过举例的方式讲述创建xml索引的方法分享,如下所示:
实验环境:sqlserver 2008 R2



xml主索引的创建方法

 CREATE TABLE [dbo].[maomao365.com](
	[keyId] [int] NOT NULL,
	[infoA] [numeric](5, 2) NULL,
	[infoB] [decimal](5, 2) NULL,
	[infoC] [xml] NULL,
 CONSTRAINT [PK_maomao365.com] PRIMARY KEY CLUSTERED 
(
	[keyId] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
)  
go


---创建xml主索引
CREATE PRIMARY XML INDEX xml_maomao365_main on [maomao365.com] (infoC)  
 

---创建辅助xml索引 (PATH, VALUE, PROPERTY).  
CREATE XML INDEX xml_maomao365_path on [maomao365.com] (infoC)  
USING XML  xml_maomao365_main
FOR PATH;  
GO  
CREATE XML INDEX xml_maomao365_VALUE on [maomao365.com] (infoC) 
USING XML  xml_maomao365_main  
FOR VALUE;  
GO  
CREATE XML INDEX xml_maomao365_PROPERTY on [maomao365.com] (infoC)  
USING XML INDEX  xml_maomao365_main  
FOR PROPERTY;  
GO   


go
/*
truncate table [maomao365.com]
drop table [maomao365.com]
*/


创建xml索引时注意事项:
1.xml索引须建立在xml数据类型的列上
2.xml索引所对应的表上必须拥有聚集索引和主键
3.xml索引建立后,不能修改聚集索引主键,如果需修改聚集索引主键,必须删除xml索引
4.创建xml索引时,IGNORE_DUP_KEY 选项和 ONLINE 选项须始终设置为OFF
5.不能对视图中的xml列,创建xml索引
6.xml索引,不支持sp_helpindex获取相关xml索引信息