SqlServer中Index Seek的匹配规则

SqlServer中Index Seek的匹配规则(一)
https://www.cnblogs.com/OpenCoder/p/5804794.html

     select *  from
     (select billno,seq,srcbillno,srcbillseq,pkid ,materielid,factorypkid
      FROM DJDL_MES_JGONE.dbo.PM_manubill_main M1( NOLOCK ) 
         WHERE factorypkid=1 AND createdate BETWEEN '2020-09-20' AND '2020-09-26') PMM  
     INNER JOIN  
     (select id,createdate,States,mainpkid ,createmanname //再加入createmanname一个字段就会卡死,查询变得很慢,不会命中索引
             -- ,pkid,gid,zapdeltag,seq,factorymaterielpkid,planqty,editmanname,editdate 
      FROM DJDL_MES_JGONE.dbo.pm_manubill_flowcard  M2(NOLOCK)) PMF ON pmm.pkid = pmf.mainpkid    
       


优化
select 

from
 (select billno,seq,srcbillno,srcbillseq,pkid ,materielid,factorypkid from DJDL_MES_JGONE.dbo.PM_manubill_main ( NOLOCK )
  where factorypkid =1
  )  pmm 
 INNER JOIN
 ( select id,createdate,States,mainpkid  
          --,createmanname ,gid,zapdeltag,seq,factorymaterielpkid,planqty,editmanname,editdate  再加入一个字段就会卡死,查询变得很慢
   FROM DJDL_MES_JGONE.dbo.pm_manubill_flowcard 
     ( NOLOCK ) WHERE  createdate BETWEEN '2020-09-20' AND '2020-09-26') PMF   ON pmm.pkid = pmf.mainpkid    


把createmanname加到索引包含列确实 快好多

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值