SELECT TOP 10 *
FROM TCCLine.dbo.CLine_CommonImage
WHERE id NOT IN (
SELECT TOP 40 id
FROM TCCLine.dbo.CLine_CommonImage
ORDER BY id
)
ORDER BY id;
邏輯:跳過前 40 筆(第 5 頁,頁大小 10),再取 10 筆。
SELECT TOP 10 numComImg.*
FROM (
SELECT ROW_NUMBER() OVER (ORDER BY id ASC) AS rownumber, *
FROM (SELECT * FROM TCCLine.dbo.CLine_CommonImage) AS comImg
) AS numComImg
WHERE rownumber > 40;

SET STATISTICS TIME ON; -- 執行上述兩條查詢


結論:ROW_NUMBER() CPU 與 Elapsed 時間均顯著低於 TOP 雙重掃描,隨資料量增長優勢擴大。
SELECT * FROM TCCLine.dbo.CLine_CommonImage ORDER BY id OFFSET 40 ROWS FETCH NEXT 10 ROWS ONLY;
ROW_NUMBER()。WHERE id > @lastId)。SELECT *,僅選需要欄位減少 I/O。