从数据库中的数据生成XML的最佳方法是什么?

时间:2009-02-28 12:05:44

标签: c# xml sql-server-2005 performance

如果我从数据库中获取数千个分层记录并生成xml,那么以最佳方式执行此操作具有良好的性能和较低的CPU利用率?

3 个答案:

答案 0 :(得分:7)

您可以使用

直接从SQL Server 2005输出XML
FOR XML    
  

查询结果   作为XML文档返回。必须使用   三个RAW之一,AUTO   和EXPLICIT选项

RAW
  

结果集中的每一行都是一个带有泛型的XML元素   标识符作为元素标记

AUTO    
  

结果简单回归   嵌套的XML树。元素会   为每个表字段生成   SELECT子句

EXPLICIT    
  

指定结果的形状   XML树显式。   查询必须写入   特别的方式使附加   有关嵌套的信息是   指定的

XMLDATA
  

返回架构,但不将根元素添加到结果

ELEMENTS    
  

指定列   作为子元素返回到表中   元件。如果未指定,则将它们映射为   属性

使用

同时生成内联XSD架构
XMLSCHEMA

您可以使用

处理记录中的空值
XSINIL

您也可以二进制形式返回数据。

您可能希望查看MSDN for XML support in SQL Server 2005,了解XQuery,XML数据类型等技术。

答案 1 :(得分:2)

这取决于 - 如果您的应用程序和数据库服务器位于不同的计算机上,那么您需要指定要减少负载的CPU。如果您的数据库已经加载,那么最好在应用程序服务器上进行XML转换,否则请继续使用SQL Server FOR XML功能。

答案 2 :(得分:1)

Oracle有这方面的工具,所以我猜SQL-Server也是如此,但你需要一个架构。个人对于小集我使用我周围的PHP脚本,但对于需要定制的大事是另一个故事。