• 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 毫秒。

  • 相关阅读:

    暴力求解/数学问题
    Leetcode207. Course Schedule
    Balanced Team
    由先序和中序求后序
    Median String
    树的同构
    uva 202
    整除光棍
    阅览室
  • 原文地址:https://www.cnblogs.com/qanholas/p/2517632.html
Copyright © 2020-2023  润新知