当前位置: 代码迷 >> Sql Server >> sql 使用left查询很慢,如何优化
  详细解决方案

sql 使用left查询很慢,如何优化

热度:19   发布时间:2016-04-24 09:10:26.0
sql 使用left查询很慢,怎么优化
 
select DEAL_DETAIL.*,DLSGoodRecBin.PorductBarCode from DEAL_DETAIL
LEFT OUTER JOIN
dbo.DLSGoodRecBin ON dbo.DEAL_DETAIL.PRODUCT_GUID = dbo.DLSGoodRecBin.GUID
where DEAL_DETAIL.shopId ='59cf59a98b84463aa1c1b0704a6c0dfd' and DEAL_DETAIL.DEAL_DATE <= '2015-4-23 23:59:59'  and  DEAL_DETAIL.DEAL_DATE >= '2015-03-31 00:00:00'


使用left查询很慢,需要8秒,如果使用inner查询就秒查,但是必须使用left连接,要把DEAL_DETAIL这张表的所以都要查出来。
 DEAL_DETAIL有8万多数据,DLSGoodRecBin有5万的数据,请问应该怎么优化
------解决思路----------------------
DEAL_DETAIL.*   全表扫描了。 
lz 看一下执行计划。 要快的话, DEAL_DETAIL上建个覆盖索引吧。 

------解决思路----------------------
DEAL_DETAIL要在(shopId,DEAL_DATE)上有索引,并且该索引包含(PRODUCT_GUID)
DLSGoodRecBin要在(GUID)上有索引,并且该索引包含(PorductBarCode)
  相关解决方案