VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 695|回复: 4

为什么执行速度会不同?

[复制链接]

1

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-1-24 20:40:01 | 显示全部楼层 |阅读模式
数据库表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
回复

使用道具 举报

0

主题

211

帖子

108.00

积分

新手上路

Rank: 1

积分
108.00
发表于 2020-2-13 23:30:01 | 显示全部楼层
没有"Inner Join RefArtList C On B.ArtID=C.ArtID"一行

要插入的记录要多一些
回复

使用道具 举报

0

主题

211

帖子

108.00

积分

新手上路

Rank: 1

积分
108.00
发表于 2020-2-14 06:30:01 | 显示全部楼层
楼主可以看一下执行两个SQL语句后所影响的行数
回复

使用道具 举报

0

主题

66

帖子

27.00

积分

新手上路

Rank: 1

积分
27.00
发表于 2020-2-16 18:00:01 | 显示全部楼层
没有关联条件结果积当然大
回复

使用道具 举报

1

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
 楼主| 发表于 2020-2-20 17:15:02 | 显示全部楼层
执行产生的行数一样!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表