当前位置: 代码迷 >> Sql Server >> 哪个SQL 快解决思路
  详细解决方案

哪个SQL 快解决思路

热度:6   发布时间:2016-04-24 09:20:18.0
哪个SQL 快
1. --------------------------------------------------------------------------
select v.*
 ,(CASE WHEN prt.ReportNum <> 0 THEN '是' ELSE '否' END) AS '是否打印'

from  v
LEFT JOIN  Stuff_IN prt 
ON prt.In_ID = v.入库编号 

2. --------------------------------------------------------------------------
select v.*  
       , prt.[是否打印]
from  v
LEFT JOIN  (SELECT IN_ID, (CASE WHEN ReportNum <> 0 THEN ''是'' ELSE ''否'' END) AS ''是否打印'' FROM Stuff_IN) prt 
ON prt.In_ID = v.入库编号 

1, 2 哪个快。
------解决思路----------------------

这个不一定,的看实际的执行计划。
------解决思路----------------------
写法1应该会快一点,但相差不大.
------解决思路----------------------
引用:
写法1应该会快一点,但相差不大.


因为第一种写法在进行case when操作的数据集较少,所以应该快点
  相关解决方案