zoukankan      html  css  js  c++  java
  • XML列转行慢

      declare @class varchar(max)= dbo.super_GetSubClass1(378,default,default);


         set statistics io on
         set statistics time  on
       
    -- XML
      SELECT B.value
        FROM (
              SELECT [values] = CONVERT(xml,'<root><v>'+REPLACE([values],',',
                                                                '</v><v>')
                  +'</v></root>')
                FROM (
                      select '''' + @class+ '''' as [values]
                     ) t
             ) A
          OUTER APPLY (
                       SELECT value = N.v.value ('.','varchar(100)')
                          FROM A.[values].nodes ('/root/v') N( v)
                      ) B

     --老方式
      SELECT SUBSTRING(A.[values],B.id,CHARINDEX(',',A.[values]+',',B.id)-B.id)
        FROM (
              select '''' + @class+ '''' as [values]
             ) A,
          (
           SELECT TOP 8000 id = row_number() over (order by getdate())
            FROM syscolumns a with (nolock),
              syscolumns b with (nolock)
          ) B
        WHERE SUBSTRING(','+A.[values],B.id,1)=','
     
     
     
     
     

    SQL Server 分析和编译时间:
       CPU 时间 = 10 毫秒,占用时间 = 10 毫秒。

     SQL Server 执行时间:
       CPU 时间 = 16 毫秒,占用时间 = 12 毫秒。

     SQL Server 执行时间:
       CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。

     SQL Server 执行时间:
       CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。

    (663 行受影响)

     SQL Server 执行时间:
       CPU 时间 = 19562 毫秒,占用时间 = 19661 毫秒。

    (663 行受影响)
    表 'syscolpars'。扫描计数 2,逻辑读取 60 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。

     SQL Server 执行时间:
       CPU 时间 = 235 毫秒,占用时间 = 268 毫秒。

  • 相关阅读:
    gcc编译器遇到的部分问题的总结(二)
    gcc编译器遇到的部分问题的总结
    Illegal instruction与march编译选项
    使用using与typedef来定义别名
    C++模板学习之递归
    C++模板学习之typename
    简单的listen+fork accept服务器实现
    一个简单的日志类的开发
    linux中的select和epoll模型
    程序异常退出调试(二)
  • 原文地址:https://www.cnblogs.com/qanholas/p/2517632.html
Copyright © 2011-2022 走看看