【发布时间】:2010-09-19 11:44:40
【问题描述】:
我对 Oracle 的熟悉程度不如我想的那样。我有一些 250k 记录,我想每页显示 100 条记录。目前,我有一个存储过程,它使用数据适配器、数据集和存储过程结果的 dataadapter.Fill(dataset) 方法将一百万条记录的所有四分之一检索到数据集。如果我将“页码”和“每页的记录数”作为整数值,我可以作为参数传递,那么返回该特定部分的最佳方法是什么。比如说,如果我将 10 作为页码传递,将 120 作为页数传递,那么从 select 语句中它会给我第 1880 到第 1200,或者类似的东西,我脑海中的数学可能会出错。
我在 .NET 中使用 C# 执行此操作,我认为这并不重要,如果我能在 sql 端正确处理它,那么我应该很酷。
更新:我能够使用 Brian 的建议,并且效果很好。我想进行一些优化,但页面会在 4 到 5 秒而不是一分钟内出现,而且我的分页控件能够很好地与我的新存储过程集成。
【问题讨论】:
标签: sql oracle stored-procedures