4.5 XML索引
与普通类型的列一样,如果经常检索xml类型列中的数据,则应该在此列上建立合适的索引。但与普通数据的检索不同的是,对于xml数据的检索,一般检索的是XML实例中的部分内容,例如,可能会经常通过XQuery检索XML实例中的某个路径表达式的内容,而XML实例作为二进制大型对象(BLOB)存储在xml类型列中,这些XML实例可以很大(最大可以为2GB),如果在运行时拆分这些二进制大型对象以计算查询,此拆分可能非常耗时。故此,xml数据类型需要专门的索引,以配合这种检索需求,提高检索XML实例中的部分内容的检索效率。
4.5.1 XML索引概述
XML索引分主XML索引和辅助XML索引两种。
1.主XML索引
xml类型列的第一个索引必须是主XML索引,它是xml数据类型列中的XML BLOB的已拆分和持久的表示形式。对于列中的每个XML二进制大型对象,索引将创建几个数据行(该索引中的行数大约等于XML二进制大型对象中的节点数),每行存储以下节点信息。
l 标记名。如元素名称或属性名称。
l 节点值。
l 节点类型。如元素节点、属性节点或文本节点。
l 文档顺序信息。由内部节点标识符表示。
l 路径。从每个节点到XML树的根的路径。搜索此列可获得查询中的路径表达式。
l 基表的主键。基表的主键复制到主XML索引中,用于向后和基表进行联接。
主XML索引中记录的上述节点信息用于计算和构造指定查询的XML结果。查询处理器使用涉及xml数据类型方法的查询的主XML索引,并返回主索引自身中的标量值或XML子树(此索引存储重新构造XML实例所需的所有信息)。
注意:
一个xml类型的列上只能创建一个XML主索引。如果要为xml类型的列创建主XML索引,则表中必须有一个聚集主键,而且主键包含的列数必须小于16。
2.辅助XML索引
辅助XML索引用于增强搜索性能,必须在创建了主XML索引的情况下才能创建辅助索引。有以下3种类型的辅助索引。
(1)PATH辅助XML索引。
虽然主XML索引避免了在运行时拆分XML二进制大型对象,但是它不会为基于路径表达式的查询提供最好的性能。如果查询通常对xml类型列指定路径表达式,则应建立PATH辅助索引以提高搜索的速度。
PATH辅助索引的键列是主XML索引中的路径值和节点值,故此,在PATH辅助索引中,路径值和节点值是允许在搜索路径时使用更高效的查找功能的键列。例如“/root/Location”和“/root/Location/@LocationID[.="10"]”查询都可以从PATH辅助索引获益。
(2)VALUE辅助XML索引。
VALUE索引的键列是主XML索引的节点值和路径。如果经常查询XML实例中的值,但不知道包含这些值的元素名称或属性名称,则VALUE索引非常有用。
(3)PROPERTY辅助XML索引。
PROPERTY索引是对主XML索引的列(PK、Path和节点值)创建的,其中PK是基表的主键。
如果经常从单个XML实例检索一个或多个值,则建立PROPERTY索引是很有必要的。
| 回书目 上一节 下一节 |
|
||||
| · VMware技术应用 · 珊瑚虫QQ作者侵权案开庭 · 贝恩资本携手华为22亿.. · 打造安全服务器 · iSCSI应用与发展 · CISSP认证成长之路 · FTTx光纤接入 · Windows Server 2008专.. |
· 开源虚拟化技术Xen · WCF开发基础 · Linux——从菜鸟到高手 · 微软出价446亿美元收购.. · SQL Server 2008/2005.. · RAID——磁盘阵列基础 · 微软Forefront企业安全.. · 如何优化IT 控制能耗 |
|||
|
||||
| · VPN技术 · iSCSI应用与发展 · SQL Server 2008/2005.. · SQL Server 2008/2005.. · iSCSI应用与发展 · RAID——磁盘阵列基础 · 中间件应用技术专题 · 深入了解PGP加密技术 |
· 病毒查杀专题 · VPN技术 · 国际文档格式标准开战 · SSL VPN详细知识 · Linux防火墙 · 打造安全服务器 · Sniffer安全技术从入门.. · 木马原理与防范 |
|||
|
||||
| · SQL Server 2008/2005.. · iSCSI应用与发展 · 中间件应用技术专题 · SQL Server 2008/2005.. · iSCSI应用与发展 · RAID——磁盘阵列基础 · 身份认证技术 · 病毒查杀专题 |
· 清除流氓软件——51CTO.. · SSL VPN详细知识 · Sniffer安全技术从入门.. · VPN技术 · 了解统一威胁管理(UTM).. · 网络钓鱼 · ADSL应用面面俱到 · ADSL应用面面俱到 |
|||