sql server 语句结果分析

SET STATISTICS PROFILE ON
SET STATISTICS IO ON
SET STATISTICS TIME ON
GO

SELECT  OD.ProID ,--商品ID
            OD.OrderID ,--订单ID
            OD.Qty ,--数量
            P.ProName ,--商品名
            P.Coefficient --装箱系数
    FROM    tbOrderDtl OD
            JOIN ( SELECT   ProID ,
                            Style + '-' + Color + '-' + Size AS ProName ,
                            CASE whole
                              WHEN 0 THEN 0
                              ELSE CONVERT(DECIMAL(18, 3), 1
                                   / CONVERT(FLOAT, whole))
                            END Coefficient
                   FROM     tbProduct
                 ) P ON P.ProID = OD.ProID
    WHERE   OrderID = '1211000462'

GO
SET STATISTICS PROFILE OFF
SET STATISTICS IO OFF
SET STATISTICS TIME OFF

结果:

(285 行受影响) 表 'tbProduct'。扫描计数 0,逻辑读取 596 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 表 'tbOrderDtl'。扫描计数 1,逻辑读取 8 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。

(5 行受影响)

SQL Server 执行时间:    CPU 时间 = 0 毫秒,占用时间 = 7 毫秒。 SQL Server 分析和编译时间:    CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。

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

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

 

希望数据库高手,能对这个结果做个分析,

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

这个结果的意义,因为只有明白了意思,才好做出语句优化和索引优化,谢谢

哔哔one
浏览 437回答 2
2回答

UYOU

建议看一下执行计划

慕码人8056858

这张表 tbProduct 的 case...end 要优化一下,最好不要动态计算了
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server