如何获得更好的性能这个SQL查询使用交叉应用?如何获得更好的性能这个SQL查询?
SELECT DISTINCT TOP 10 acc.account_no
FROM account (NOLOCK) acc
CROSS APPLY(
SELECT COUNT(1) AS piece
FROM account (NOLOCK) acc2
WHERE acc.account_no= acc2. account_no
AND status= 'P'
) AS X
CROSS APPLY(
SELECT COUNT(1) AS piece2
FROM account (NOLOCK) acc2
WHERE acc.account_no = acc2. account_no
) AS Y
WHERE X.piece= Y.piece2
哪个RDBMS是这样的?请添加一个标签来指定您是使用'mysql','postgresql','sql-server','oracle'还是'db2' - 或者其他的东西。 –
这是一个纯粹的猜测,但只要在WHERE子句中添加'AND acc.status ='P'',就可能取得成功。 –