在SQL中使用游标表达式时的性能问题

时间:2014-09-07 14:54:26

标签: java sql oracle jdbc cursor

在使用游标表达式迭代SQL查询的ResultSet时遇到性能问题。

SQL query(example)
select id, name , cursor (select id,name from subject  ) as cusr1 from student

这就是我在java中检索游标的方法

statement = connection.createStatement(); 
         resultSet=statement.executeQuery(query);
          while (resultSet.next()) { //Read every row
                int columnCount = resultSet.getMetaData().getColumnCount();
                for (int column = 1; column <= columnCount; column++) { //Read every column
                    String columnName = resultSet.getMetaData().getColumnName(column);
                    Object value = resultSet.getObject(columnName);
                    if (value != null) {
                        System.out.println("Value Not Null");
                        if(value instanceof ResultSet){
                            System.out.println("Success");
                            ResultSet rs1=(ResultSet)value;
                            while(rs1.next()){
                                String name=rs1.getString("name");
                                System.out.println("Name is "+name);
                                Long id=rs1.getLong("id");
                                System.out.println("Id is "+id);
                            }
                        }

                    }

                }         
            }

与resultSet的处理时间相比,查询的执行时间非常少(迭代相同,获取cusror数据等)。

我在这里做错了吗?有没有办法改善表现?

0 个答案:

没有答案