如题,应用服务器是jboss,存储过程是定义在包里面的。
单独执行和通过java调用执行时间为什么相差这么多?

解决方案 »

  1.   

    1.有Out参数吗?2.调用其他procedure的执行时间和单独执行时间?3.java连接oracle的方式?
      

  2.   

    把procedure的定义贴上来看看。
      

  3.   


    out 参数 仅仅返回成功与否的信息。
    连接oracle的方式是jdbc。
    别的存储过程比较小,没有这个问题, 这个存储过程比较大,会调用别的存储过程,第一个子存储过程里面定义了6个游标,这个子存储过程还要调用定义了10个游标的存储过程,这个存储过程最重要,还使用到了record,和record的数组,通过从各游标中取得数据放入到record数组中,最后相加数组每项元素,再插到表里面去。
      

  4.   

    对其他的procedure的调用是在这个procedure里 还是在java里,是第一次慢,还是一直都慢。
      

  5.   


    对其他的procedure的调用是在这个procedure里,是一直都慢。
      

  6.   


    你java调用的时候,写的不是绑定变量?这样的话,也会慢点!
      

  7.   

    把调用的子procedure逐一去掉后测试一下,看究竟是慢在什么地方。
      

  8.   

    是不是procedure中没有用绑定参数
      

  9.   

    不太明白什么是绑定参数
      String   strqry="insert   into   test   (col1,col2)   values   (?,?)";     
      PreparedStatement   pstmt   =   con.prepareStatement(strqry);     
      pstmt.setString(1,"test1");     
      pstmt.setString(2,   "123"); 
    绑定参数(即?位置所在的参数)
    绑定参数是指这个吗? 如果是的话,那就是用了绑定参数。