问题描述:在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