|
他应用程序中的 XML 标记交换数据,则该模式很有用。
混合模型
很多时候,适合将关系数据和 XML 数据类型列结合起来进行数据建模。可以将 XML 数据中的某些值存储在关系列中,而将其余或全部 XML 值存储在 XML 列中。这可能会产生更好的性能(例如,可以完全控制在关系列上创建的索引)和锁定特性。然而,这需要您承担更多的责任来管理数据存储。
要存储在关系列中的值取决于您的工作负荷。例如,如果您基于路径表达式 /Customer/@CustId 检索全部 XML 值,则通过将 CustId 属性的值提升到关系列中以及将其编入索引,可能产生更高的查询性能。另一方面,如果您的 XML 数据被广泛且非冗余地分解到关系列中,则重新组合的成本可能很大。
对于高度结构化的 XML 数据(例如,表的内容已经转换到 XML),可以将所有值映射到关系列(可能使用 XML 视图技术)。
返回页首
使用 XML 数据类型进行数据建模
本节讨论有关原生 XML 存储的数据建模主题。这些主题包括将 XML 数据编入索引、属性提升和类型化 XML 数据类型。
相同或不同的表
XML 数据类型列可以在包含其他关系列的表中创建,也可以在与主表之间具有外键关系的独立表中创建。
在满足下列某个条件时,请在同一个表中创建 XML 数据类型列:
• 您的应用程序在 XML 列上执行数据检索,并且不需要 XML 列上的 XML 索引。 或者
• 您需要在 XML 数据类型列上生成 XML 索引,并且主表的主键与其聚集键相同。有关详细信息,请参阅将 XML 数据类型列编入索引一节。
在满足下列条件时,请在单独的表中创建 XML 数据类型列:
• 您需要在 XML 数据类型列上生成 XML 索引,但主表的主键与其聚集键不同,或者主表不具有主键,或者主表是一个堆(也就是说,没有聚集键)。如果主表已经存在,则这可能是真的。
• 您不希望表扫描由于表中存在 XML 列(无论它是存储在行中还是存储在行外,都会占用空间)而降低速度。
XML 数据的粒度
XML 列中存储的 XML 数据的粒度对于锁定和更新特性而言至关重要。SQL Server 对 XML 和非 XML 数据采用 上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页 更多精彩:学习网->http://www.haohao888.com.cn 网络编程->http://www.51wlpc.com 电脑设备->http://www.xpmaster.cn
|