您的位置:程序门 -> java -> j2ee / ejb / jms



entity bean 取数据慢呢还是组织dto慢呀?


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


entity bean 取数据慢呢还是组织dto慢呀?[已结贴,结贴人:nsqsmile]
发表于:2007-04-05 09:50:46 楼主
在session   bean中调用entity   bean的find方法取得object,然后组成dto

为什么才150条数据(30个字段)(从10万条数据中取)需要20多秒呢?

我测试了一下,find方法执行花费120毫秒左右,然后循环执行,在第一次取object的某一个字段的时候花费大约8秒的时间,怎么优化呀?

代码片断:
  try
        {
            ......
            ammetercollect   =   ammeterhome.findbybooknumforinputdata(charcomid,   booknum,indate1);   //120毫秒左右

            iterator   iter   =   ammetercollect.iterator();
            while   (iter.hasnext())
            {
                ammeterinforemote   item   =   (ammeterinforemote)   iter.next();
                userid   =   item.getuserid();   //第一次执行的时候,大约8秒左右,以后都是几十毫秒
                username   =   userhome.getusernamebyuserid(userid);   //40毫秒左右
               
                ammetername   =   lxxxremote.getammetername(item.getammenameid().intvalue());
                ammeterid   =   item.getammeterid();
                timerflag   =   item.gettimerflag().intvalue();

                ammeterdto   =   new   ammeterdto(...);
                }
}


发表于:2007-04-05 09:57:001楼 得分:20
帮你up
发表于:2007-04-05 10:10:142楼 得分:0
服务器jboss   4.0.2,jboss没有设置,用的默认的,不知道是不是这里的原因。

数据库sqlserver2k,find方法和在查询分析器中执行时间相近,说明sql语句基本上不需要优化。

主要的问题应该在得到实体bean的remote后,再取其中某一列的时候耗费了时间。

但是不知道如何去做。
发表于:2007-04-05 14:41:013楼 得分:0
并且当筛选的数据多于500条时,jboss报错

14:39:17,937   error   [loginterceptor]   transactionrolledbackexception   in   method:   public   abstract   java.lang.string   khdf.ammeterinforemote.getuserid()   throws   java.rmi.remoteexception,   causedby:

java.sql.sqlexception:   [microsoft][sqlserver   2000   driver   for   jdbc]the   dbms   returned   an   unspecified   error.
发表于:2007-04-05 20:36:214楼 得分:0
已解决
发表于:2007-04-06 13:37:125楼 得分:60
数据库sqlserver2k,find方法和在查询分析器中执行时间相近,说明sql语句基本上不需要优化。

主要的问题应该在得到实体bean的remote后,再取其中某一列的时候耗费了时间。

但是不知道如何去做。
--------------------------------------------------------------------------------
这个动作最好在sql中实现,把它取到内存中自己找就会很慢了.
发表于:2007-04-06 22:04:506楼 得分:20
顶一下。


快速检索

最新资讯
热门点击