会增加JOIN语句中的字段数量增加/降低执行速度

  • 本文关键字:增加 执行 速度 字段 语句 JOIN sql
  • 更新时间 :
  • 英文 :


我有两个具有350万行数据的表。我正在在两者之间创建一个左键,以创建一个新的视图。

代码1:

SELECT t1.c1,t1.c2,t2.c3,t2.c4
from table1 as t1 
   left join table2 as t2
   on t1.Location=t2.Location and t1.OrderNumber=t2.OrderNumber and t1.Customer=t2.Customer

代码2:

SELECT t1.c1,t1.c2,t2.c3,t2.c4
from table1 as t1 
   left join table2 as t2
   on t1.OrderNumber=t2.OrderNumber

两个代码的片段给出的结果与表2中的订单编号字段仅具有唯一的值相同。

与只有一个领域相比,更好的是加入更多的字段?

SELECT t1.c1,t1.c2,t2.c3,t2.c4
from table1 as t1 
left join table2 as t2
       on t1.Location    = t2.Location 
      and t1.OrderNumber = t2.OrderNumber 
      and t1.Customer    = t2.Customer

如果OrderNumber是任一表的PK,则添加其他字段不会更改结果,并且除非另一侧不存在索引,否则它不会提高性能。

如果表2中的订单编号字段仅具有唯一值,则不会更改查询。如果它是PK或具有唯一的约束/索引,则除非将订单名单连接到订单,否则添加字段将无济于事。

最新更新