XML Twig模式查询处理中的语义运用:TwigTable方法解析
1. 优化技术:关系表的引入
在XML文档处理中,其层次结构往往无法明确反映对象之间的关系,但这些关系却普遍存在。以书店文档为例,书籍按不同分店分组,其中“数量”并非书籍的属性,而是分店与书籍关系的属性。
- 动机 :考虑一个查询,要找出拥有低数量(少于20)计算机书籍的分店代码。若不了解分店与书籍的关系,将“数量”属性存于书籍对象表中,优化2会重写查询以进行匹配,但匹配书籍节点会产生冗余。若知晓谓词基于分店与书籍的关系,在模式匹配时可忽略书籍节点,提高效率。
- 优化 :引入关系表,存储每个关系实例的属性值和参与对象的标签。以图11的文档为例,其关系表如图13(a)所示。使用关系表,图12(a)的查询可重写为图13(b),相比优化2,查询进一步简化,分店节点倒排列表的大小减小,查询处理性能提升。
graph LR
A[原始查询] --> B[优化2重写查询]
A --> C[引入关系表重写查询]
B --> D[匹配书籍节点(可能冗余)]
C --> E[忽略书籍节点(提高效率)]
- 讨论
- 重叠谓词 :查询节点可能同时涉及对象谓词和关系谓词。如在图12(a)的查询中,若对书籍价格有额外谓词,书籍查询节点将涉及两个重叠谓
超级会员免费看
订阅专栏 解锁全文
4880

被折叠的 条评论
为什么被折叠?



