select autoid from (SELECT ROW_NUMBER() OVER (ORDER
BY MYTABLE.DETECTEDUTC DESC) as rownum, autoId from
MYTABLE where MYTABLE.guid in (..guids..)) as tab1 where rownum >=1000 and rownum < 1020
我們有一個表MYTABLE,它可能包含數百萬條記錄,目前它有1000萬條記錄。 上面的SQL查詢用於在我們的代碼中獲取分頁數據,它工作正常,直到查詢給出結果,但如果查詢返回0結果,則掛起數小時。 同時SQL服務器開始消耗系統RAM,同時運行上面的查詢並且不返回任何記錄。MS-SQLSERVER - SQL查詢使用ROW_NUMBER需要很長時間,查詢結果爲0
在下面的查詢另一方面正常工作與0的結果 -
select autoid from (SELECT ROW_NUMBER() OVER (ORDER
BY MYTABLE.DETECTEDUTC DESC) as rownum, autoId from
MYTABLE where MYTABLE.guid in(..guids..)) as tab1
我無法理解任何一個查詢如何返回任何結果?條件'where EVENTS.guid = NEWID()'應該總是計算爲'false'。 –
只是修改查詢以檢查沒有結果scenerio – dadua
現在將查詢更改爲原始查詢。 – dadua