none
Profiler 的这个问题大家有没有遇到? RRS feed

  • 问题

  • Profiler 界面 trace, 显示较大 xml 值的时候,会很慢,容易卡死,有时候用这个跟踪问题,不小心就被这种情况卡死

    重现方法:

    用 profile 建立一个 trace, 直接用默认的模板就可以了

    然后用 sqlcmd 制造一个较大的包含 xml 内容的 sql , 并且执行

    sqlcmd -Q "SET NOCOUNT ON;SELECT N'DECLARE @x nvarchar(max);SET @x = N''' + CONVERT(nvarchar(max), (SELECT TOP 200) * FROM sys.all_objects FOR XML PATH('row'), ROOT('rows'), TYPE)) + N''';'" -o _test.sql -y 0

    sqlcmd -i _test.sql

    然后在 profile 里面,点 trace 到的 TextData 为 DECLARE @x nvarchar(max);SET @ 。。。。 的那行,会发现很缓慢的显示,大到一定程度可能会慢得直接不响应

    2015年11月13日 8:16

全部回复

  • 为啥还用Profiler这种古董?本来.Net自带那个XML Praser对于超大XML处理就有性能问题。

    想不想时已是想,不如不想都不想。

    2015年11月16日 3:00
    版主
  • 为啥还用Profiler这种古董?本来.Net自带那个XML Praser对于超大XML处理就有性能问题。

    想不想时已是想,不如不想都不想。


    临时性的找一些问题,这个还是比较直观快捷的
    2015年11月16日 6:23
  • 这里面也不存在需要 xml parser 的情况啊,我构造的是 xml 数据,但是它在 sql 中只是字符串形式被 profile 到而已

    2015年11月16日 6:25