问题中的这两种SQL哪个效率高?

SELECT T3.ID,T3.NAME
FROM ZY_UNIT_WARD T1 
LEFT JOIN XT_UNIT T2 ON T1.UNITID=T2.ID
LEFT JOIN zy_ward T3 ON T2.ID=T3.UNITID
WHERE T2.ID=8

SELECT T1.ID,T1.NAME FROM zy_ward T1,XT_UNIT T2,ZY_UNIT_WARD T3
WHERE T1.ID=T3.WARDID AND T2.ID=T3.UNITID

前者效率高,后者是取笛卡儿积,相当于二重循环,复杂度N^2,前者是hash匹配,复杂度LogN

其实都差不多,第二个SQL的查询方法等于inner join

晕,这两个是不同的sql,一个是外链一个是内链查询的结果不一样的,不能通用,这就像是说delete和update效率那个高!!

放在数据库中执行看看就知道了。看看执行计划,找出问题点。