1万多个字符的sql,很恐怖.我真的很佩服你

解决方案 »

  1.   

    用ejb查询本来就慢,所以可以可怜写一个session bean来做查询工作,而session bean中查询可以用jdbc.不用担心事务,ejb同样能为你处理事务。
      

  2.   

    我能问一下,做成存储过程,可以利用CMP吗?
      

  3.   

    你的构架设计得有问题。
    首先,在数据库设计的时候估计有问题,同时对于多表,可以建立视图重构数据库结构(比如一个9张表的连接查询,可以做成视图,而且视图可以加快查询速度),然后再在上面建立存储过程,利用里面的函数简化过程。
    然后用sessionbean调用其存储过程。
      

  4.   

    建议:先做好功能设计,利用UML工具设计数据库,优化后,再往下进行
      

  5.   

    1万多字符的sql,你真行。i服了you。重新规划你的设计吧 :))
      

  6.   

    我觉的不能用存储过程,用存储过程很多JAVA接口都调用不了,
      

  7.   

    同意 gks_cn(981530)的,改成存储过程吧.
      

  8.   

    1万多字符的sql,确实很大,如果规划的不好,通过网络传输,性能会大打折扣。
    如果不写成存储过程,最好是写成一条SQL,然后将结果缓存,不知会不会有所改善》?
      

  9.   

    1万多字符的sql,你真行。i服了you。  
      

  10.   

    1万多字符的sql?oracle缺省好像不支持吧。我记得好像只能4,5千的
      

  11.   

    查询结果,你根本不需要用EJB,直接JDBC连接去取就可以了。EJB是帮助事务管理的,
    难道查询结果还需要事务吗?
      

  12.   

    to  logix() 
      肯定不止4。5千,我最长的一个SQL语句, 执行的时候是四万多to all
      还有什么好的解决方法
      

  13.   

    如果是oracle的话可以用它带的start with、connect by
    insert into c_tab (id, userid, type) Select "+ Model.getID() + ", id, '2' from u_tab where type = '111' and id <> " + Model.getDeptModel().getID() + " start with id=" + DeptModel.getDeptModel().getID() + " connect by prior  id=parentid这样速度快了很多,我也差不多4-5万记录