根据条件,进行升序或降序排列,两种方式的比较。

    技术2025-03-15  13

    sql 如下:

    set statistics io on

    set statistics time on

    set statistics profile on

    SELECT A.detail_Product_ID,B.order_CreateDate,order_Source

    FROM dbo.XC_Order_Detail A 

    inner join dbo.XC_Order B 

    on(A.detail_Order_ID=B.order_NO)

    order by

    case when B.order_Source=3 then B.order_CreateDate else getdate()-B.order_CreateDate end

    set statistics io off

    set statistics time off

    set statistics profile off

    ========

    set statistics io on

    set statistics time on

    set statistics profile on

    SELECT A.detail_Product_ID,B.order_CreateDate,order_Source

    FROM dbo.XC_Order_Detail A 

    inner join dbo.XC_Order B 

    on(A.detail_Order_ID=B.order_NO)

    order by

    (case when B.order_Source=3 then B.order_CreateDate  end),

    (case when B.order_Source<>3 then B.order_CreateDate  end) desc

    set statistics io off

    set statistics time off

    set statistics profile off

    =========

    结果依次:

     

    SQL Server 执行时间:

       CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。

     

    (352025 row(s) affected)

    表 'XC_Order'。扫描计数 5,逻辑读取 3955 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。

    表 'XC_Order_Detail'。扫描计数 5,逻辑读取 14472 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。

    表 'Worktable'。扫描计数 0,逻辑读取 0 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。

     

    (9 row(s) affected)

     

    SQL Server 执行时间:

       CPU 时间 = 1578 毫秒,占用时间 = 5781 毫秒。

     

    SQL Server 执行时间:

       CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。

    ---------- SQL Server 执行时间:    CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。 (352025 row(s) affected) 表 'XC_Order'。扫描计数 5,逻辑读取 3955 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 表 'XC_Order_Detail'。扫描计数 5,逻辑读取 14472 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 表 'Worktable'。扫描计数 0,逻辑读取 0 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 (9 row(s) affected) SQL Server 执行时间:    CPU 时间 = 1595 毫秒,占用时间 = 5799 毫秒。 SQL Server 执行时间:    CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。 -------- 350000条目数据多试验了几次!性能不相上下,但是多数是第一种好一些!

    最新回复(0)