問題描述:在Oracle表中我有3000000條記錄。用戶希望在瀏覽器中將此表視爲一個帶有分頁(每頁100條記錄)的表(jQuery數據表)。當我設計它時,大約有30000個頁面。當用戶單擊單頁時,我正在查詢具有排序的表返回那麼多行。這裏的問題是每個頁面加載需要大約20秒的時間。需要關於設計表分頁的建議
有沒有人可以建議我「如何處理這種情況?所以用戶不會覺得從他身邊慢。在這些許多記錄的服務器端緩存是一個很好的選擇或不?
查詢類似於:
SELECT /*+ ALL_ROWS */ * FROM
(SELECT ROWNUM SNO , A.* FROM
(SELECT /*+ PARALLEL(ABCTABLE 4)*/ COUNT(*) OVER () CNT,
columnA, columnb,columnc
FROM ABCTABLE)
order by columnA, columnb,columnc) a)
where sno between ? and ?;
?和? : - 頁面範圍1到30/30到60/.....
@sugumar,從3000000過濾1000條記錄也需要時間。用戶希望以毫秒爲單位查看頁面。 – 2013-02-21 05:33:10
您是否至少直接在Oracle中運行查詢以查看該部分需要多長時間? – 2013-02-21 05:49:37
+1是的,我同意ElectricLlama;首先檢查你的數據庫如何響應? – 2013-02-21 05:54:59