Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对14K记录使用FOR XML AUTO、ROOT('RootName')、TYPE使SQL查询速度变慢_Xml_Performance_Sql Server 2012_Query Performance_For Xml Path - Fatal编程技术网

对14K记录使用FOR XML AUTO、ROOT('RootName')、TYPE使SQL查询速度变慢

对14K记录使用FOR XML AUTO、ROOT('RootName')、TYPE使SQL查询速度变慢,xml,performance,sql-server-2012,query-performance,for-xml-path,Xml,Performance,Sql Server 2012,Query Performance,For Xml Path,我正在研究存储过程。 它使用视图并将resultset表转换为XML格式。 我们使用了语句“FOR XML AUTO,ROOT'toxicsite',TYPE”。 视图将返回14k记录,并在将其转换为XML后。。。需要2分钟。 需要其他选择的帮助,或者我如何优化查询转换我只是通过从SomeBigTable中简单地选择Top14000*来尝试这一点。SSMS在2秒后准备就绪。使用FOR XML AUTO,它的返回速度相当快。我不认为创建XML需要那么长时间 如果你的观点很复杂,那可能是因为汽车在欺

我正在研究存储过程。 它使用视图并将resultset表转换为XML格式。 我们使用了语句“FOR XML AUTO,ROOT'toxicsite',TYPE”。 视图将返回14k记录,并在将其转换为XML后。。。需要2分钟。
需要其他选择的帮助,或者我如何优化查询转换

我只是通过从SomeBigTable中简单地选择Top14000*来尝试这一点。SSMS在2秒后准备就绪。使用FOR XML AUTO,它的返回速度相当快。我不认为创建XML需要那么长时间

如果你的观点很复杂,那可能是因为汽车在欺骗你。自动尝试为相关数据的查询嵌套找到适当的内部结构

作为一个快速的例子,您可以尝试使用XMLRAW,键入只是为了检查性能差异。最好是使用FOR XML PATH的显式方法,您可以自己指定嵌套和关系

如果二进制数据涉及BLOB,那么将其转换为base64需要额外的成本;如果涉及许多字符串,特别是如果它们包含大量非拉丁字符,那么实体编码需要额外的成本


一般来说,XML速度惊人…

只是为了正确地理解这一点:不使用FOR XML运行的查询速度足够快,但是当您添加FOR XML时,它会减慢完成速度吗?你是如何测量时间的?你在用XML做什么?14k唱片相当多。XML不是为更大的数据而设计的…是的。。。若我从视图中获取数据,它将在17秒内返回14k条记录。。。这是一项要求。。我将此XML发送到API进行进一步处理。