如何優化此查詢,因爲EXT表每個包含大約150萬條記錄。我也有其他聯接,但他們的記錄相對少於50條。 都EXT表已設置與默認設置的身份和爲P需要關於具有多個連接的多百萬條記錄的優化查詢的建議
SELECT *
FROM (
SELECT
ROW_NUMBER() OVER(ORDER BY ID ASC) AS RowNumber
, *
FROM History
LEFT JOIN FlattenExt1
ON History.ID = FlattenExt1.ExtID
LEFT JOIN FlattenExt2
ON History.ID = FlattenExt2.ExtId
) as final
where final.RowNumber BETWEEN (@PageIndex -1) * @PageSize + 1
AND (((@PageIndex -1) * @PageSize + 1) + @PageSize) - 1
order by final.rownumber
使用分享您的執行計劃[粘貼該計劃@ brentozar (https://www.brentozar.com/pastetheplan/)下面是說明:[如何使用粘貼計劃](https://www.brentozar.com/pastetheplan/instructions/)。 – SqlZim
如前所述,共享您的表DDL和執行計劃。 –
@artashes Khachatryan實際上,這只是一個代碼,在左連接方面需要優化。還有其他的內部連接,儘管這是必要的,但我在這裏沒有提到它。 –