相关疑难解决方法(0)

与Oracle进行分页

我不像我想的那样熟悉Oracle.我有大约250k的记录,我想每页显示100个.目前,我有一个存储过程,它使用数据适配器和数据集以及dataadapter.Fill(dataset)方法从存储过程的结果中检索数据集中的所有25万条记录.如果我将"页码"和"每页记录数"作为整数值,我可以作为参数传递,那么返回该特定部分的最佳方法是什么.比方说,如果我将10作为页码传递,120作为页数,则从select语句中将它给予我1880到1200,或类似的东西,我脑子里的数学可能会关闭.

我在.NET中用C#做这个,认为这不重要,如果我能在sql端正确,那我就应该很酷.

更新:我能够使用Brian的建议,而且效果很好.我想进行一些优化,但页面会在4到5秒而不是一分钟内出现,我的分页控件能够与我的新存储过程很好地集成.

sql oracle stored-procedures

89
推荐指数
5
解决办法
10万
查看次数

JDBC Oracle - 获取查询的解释计划

我想知道如何使用Java获取解释计划.我需要这个的原因是因为我们有一个特殊用户可以制作报告的框架.这些报告有时会构建大量查询,我们希望在其中动态解释并存储成本.这样我们就可以在以后分析高成本查询并进行优化.

给出非法列异常的示例代码:

ResultSet rs = null;
   try {
        oracle = ConnectionManager.getConnection(ConnectionManager.Test);
        pstmt = oracle.prepareStatement("begin execute immediate 
        'explain plan for SELECT   1 from Dual'; end;");
        rs = pstmt.executeQuery();
        while (rs.next()) {
            System.out.println(rs.getString(1));
        }
Run Code Online (Sandbox Code Playgroud)

java oracle jdbc explain sql-execution-plan

12
推荐指数
2
解决办法
1万
查看次数