Microsoft SQL Server 2005 的 XML 最佳实施策略
2007-05-17 09:38:17 来源:WEB开发网类型化 XML 列、参数和变量可以存储 XML 文档或内容 - 您在声明时必须将它们指定为标志(分别指定为 DOCUMENT 或 CONTENT)。而且,您必须提供 XML 架构集合。如果每个 XML 实例恰好有一个顶级元素,请指定 DOCUMENT;否则,请使用 CONTENT。查询编译器在查询编译过程的类型检查中使用 DOCUMENT 标记来推理唯一的顶级元素。
除了将 XML 列类型化以外,您还可以在类型化或非类型化 XML 数据类型列上使用关系(列或行)约束。在下列条件下,请使用约束:
• 无法在 XML 架构中表示业务规则。例如,花店的送货地址必须在其营业地点周围 50 英里范围之内,这可以编写为 XML 列上的约束。该约束可能涉及到 XML 数据类型方法。
• 您的约束涉及到表中的其他 XML 列或非 XML 列。这方面的一个例子是:强制 XML 实例中存在的 Customer ID (/Customer/@CustId) 与关系 CustomerID 列中的值匹配。
文档类型定义 (DTD)
XML 数据类型列、变量和参数可以使用 XML 架构而不是 DTD 加以类型化。然而,对于非类型化和类型化 XML,都可以使用内联 DTD 来提供默认值,以便将实体引用替换为它们的扩展形式。
您可以使用第三方工具将 DTD 转化为 XML 架构文档,并且将 XML 架构加载到数据库中。
将 XML 数据类型列编入索引
可以在 XML 数据类型列上创建 XML 索引。这会将该列中 XML 实例上的所有标记、值和路径编入索引,从而提高查询性能。在下列条件下,您的应用程序可能受益于 XML 索引:
• 对 XML 列进行查询在您的工作负荷中很常见。必须考虑数据修改过程中的 XML 索引维护成本。
• XML 值相对较大,而检索的部分相对较小。生成索引可以避免在运行时分析全部数据,并且因为受益于索引查找而提高查询处理的性能。
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接