我遇到了限制SQL查詢的問題。我正在使用SQL 2000,所以我不能使用像ROW_NUMBER(),CTE OR OFFSET_ROW FETCH
這樣的函數。SQL限制查詢
我試過Select TOP limit * FROM
的方法並排除已經顯示的結果,但這種方式查詢是如此之慢,因爲有時我的結果查詢獲取超過10000條記錄。
而且我曾嘗試以下方法:在這裏
SELECT * FROM (
SELECT DISTINCT TOP 100 PERCENT i.name, i.location, i.image ,
(SELECT count(DISTINCT i.id) FROM image WHERE i.id<= im.id) AS recordnum
FROM images AS im
order by im.location asc, im.name asc) as tmp
WHERE recordnum between 5 AND 15
同樣的問題,再加上的問題,因爲我不能在子查詢的記錄添加訂購選項微米。我已經將這兩個解決方案放在存儲過程中,但仍然執行查詢仍然很慢。
所以我的問題是: 是否有一種有效的方法來限制查詢,以便在SQL 2000中爲每個頁面提取20個記錄以獲得大量數據,即超過10000?
謝謝。
10000條記錄不應該有顯著量(當然不是「大」),檢查你的索引。如果分頁問題也考慮使用遊標。 –
表中有多少數據?行數? – UnhandledExcepSean
圖像表有超過13萬000記錄:)有時添加過濾器我拉大約40 000條記錄 – sirenka