首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

为什么执行速度会不同?该如何处理

2012-01-19 
为什么执行速度会不同?数据库表StockInOutDtl有10万条记录,我在存储过程中执行下列语句只用了1秒:insertin

为什么执行速度会不同?
数据库表StockInOutDtl有10万条记录,我在存储过程中执行下列语句只用了1秒:
            insert   into   @tmpStock
            SELECT     B.ArtID   ,   B.ArtDesc   ,   B.Units   ,   -B.Qty   as   Qty     ,   0,     A.ST  
            From   StockInOut   A   Left   Outer   Join   StockInOutDtl   B  
                      On     A.SheetID=B.SheetID
                      Inner   Join   RefArtList   C   On   B.ArtID=C.ArtID
            Where     A.IssueDate> =@RenewDate  
                                    And   B.ArtID=@ArtID  

但没有 "Inner   Join   RefArtList   C   On   B.ArtID=C.ArtID "一行,即下列语句却要9秒:
            insert   into   @tmpStock
            SELECT     B.ArtID   ,   B.ArtDesc   ,   B.Units   ,   -B.Qty   as   Qty     ,   0,     A.ST  
            From   StockInOut   A   Left   Outer   Join   StockInOutDtl   B  
                      On     A.SheetID=B.SheetID
            Where     A.IssueDate> =@RenewDate  
                                    And   B.ArtID=@ArtID

[解决办法]
没有 "Inner Join RefArtList C On B.ArtID=C.ArtID "一行

要插入的记录要多一些
[解决办法]
楼主可以看一下执行两个SQL语句后所影响的行数
[解决办法]
没有关联条件结果积当然大

热点排行