回答

收藏

使用Oracle分页

技术问答 技术问答 52 人阅读 | 0 人回复 | 2023-09-13

我不像我想象的那么熟悉Oracle。我有大约25万份记录,我希望每页显示100份。目前,我有一个存储过程,使用数据适配器、数据集和存储过程结果dataadapter.Fill(dataset)该方法将100万个记录的四分之一检索到数据集中。如果我能把页码和每页记录数作为整个值,并把它作为参数,那么最好的方法就是只获得这个特定的部分。假设如果我把10作为页数,120作为页数,从select从句子中获得的值将是1880到1200,或者类似的数字,我的脑海可能已经关闭了。
/ V% F) J- C3 R. n我正在用C#在.NET如果我能做到这一点,我认为这并不重要sql正确使用它,所以我应该很酷。
2 R' O' y2 J  {! o+ v更新:我可以用Brian建议,效果很好。我想做一些优化,但页面将显示在4到5秒,而不是一分钟,我的分页控制器可以很好地集成到我的新存储过程中。
" k8 N: f- Z1 w% g2 v  d: `5 p                                                               
( ~: _9 D7 y1 N    解决方案:                                                               
7 \/ C9 {  \9 t( J# {4 I2 E                                                                这样的事情应该起作用:来自Frans
2 I( ?8 y" g# [6 B( ]Bouma的博客
' I" D9 U' a' d& |SELECT * FROM(    SELECT a.*,rownum r__    FROM    (            SELECT * FROM ORDERS WHERE CustomerID LIKE 'A  ORDER BY OrderDate DESC,ShippingDate DESC   ) a    WHERE rownum = (((pageNumber-1) * pageSize)   1)
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则