如何优化此查询,因为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实际上,这只是一个代码,在左连接方面需要优化。还有其他的内部连接,尽管这是必要的,但我在这里没有提到它。 –