读书人

SQL语句性能方面的有关问题

发布时间: 2013-03-01 18:33:02 作者: rapoo

SQL语句性能方面的问题
两个sql,很简单的语法
高手帮看看两个哪个更快,为什么

thx~

SELECT T1.*,T2.A2 AS A3 FROM qqqqqqqqqqqqqq T1
LEFT JOIN (SELECT MIN(A1) AS A1,A2 FROM qqqqqqqqqqqqqq T1
GROUP BY A2)T2 ON T2.A1=T1.A1



SELECT T1.*,T2.A2 AS A3 FROM qqqqqqqqqqqqqq T1
LEFT JOIN (SELECT A1,A2 FROM
(SELECT *,ROW_NUMBER() OVER (PARTITION BY A2 ORDER BY A1) AS 'RowNumber'
FROM qqqqqqqqqqqqqq)RR
WHERE RR.ROWNUMBER=1)T2 ON T2.A1=T1.A1

[解决办法]
试下以下语句的性能


SELECT T1.*
,case when not exists (
select 1
from qqqqqqqqqqqqqq T2
where T2.A1<T1.A1
and T2.A2 = T1.A2
) then T2.A2 else NULL end AS A3
FROM qqqqqqqqqqqqqq T1

[解决办法]
你把两个语句放在一个查询窗口中,然后按ctrl+L,看看哪个占百分比小哪个就快

读书人网 >SQL Server

热点推荐