db-torque-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel O'Neil <greenphoenix1...@yahoo.com>
Subject Re: AW: Torque Interactions with Village -- db connection question
Date Fri, 13 Feb 2004 18:14:42 GMT
Hi Siegfried,

I analyzed it and it turned out to be related to another code segment that I wrote.  Whew!

Thanks,
Daniel

--- "Göschl,Siegfried" <Siegfried.Goeschl@drei.com> wrote:
> Hi Daniel,
> 
> that's very odd .... are you able to get precise performance data using JProbe or OptimizeIt?!

> 
> Cheers,
> 
> Siegfried Goeschl
> 
> -----Ursprüngliche Nachricht-----
> Von: Daniel O'Neil [mailto:greenphoenix1189@yahoo.com] 
> Gesendet: Donnerstag, 12. Februar 2004 20:06
> An: Apache Torque Users List; daniel@westpole.com
> Betreff: RE: Torque Interactions with Village -- db connection question
> 
> Grussen Goeschl, 
> 
> the 20 msec latency occurs for each resultlist call.
> 
> Cheers,
> Daniel
> 
> --- "Göschl,Siegfried" <Siegfried.Goeschl@drei.com> wrote:
> > Hi Daniel,
> > 
> > performance is a tricky question:
> > 
> > +) if your are using a connection pool the connection is normally not closed but
returned to
> the
> > pool
> > +) does the 20 or 9 milleseconds occur for each call of resultlist.get(i) in your
loop or for
> > the entire loop 
> > 
> > Cheers,
> > 
> > Siegfried Goeschl
> > 
> > -----Original Message-----
> > From: Daniel O'Neil [mailto:greenphoenix1189@yahoo.com]
> > Sent: Thursday, February 12, 2004 7:43 PM
> > To: torque-user@db.apache.org
> > Subject: Torque Interactions with Village -- db connection question
> > 
> > 
> > Hi,
> > 
> > I'm trying to optimize performance on a fairly large join to an Oracle 8i database.
 In order
> to
> > speed up the joing I return a List of Record objects and then use the row2Object
method to
> > extract
> > them with some default offsets.  The join is fairly slow, but the real shocker comes
when I
> come
> > to this line:
> > 
> > Record row = (Record)resultlist.get(i);
> > 
> > it takes TWENTY milliseconds to build that row across a sqlnet connection in-house.
 If I to
> it
> > on
> > my mysql database on my box, it takes nine, which is still huge on a box as fast
as my dev
> > environment (dual 1.25Ghz G4).  
> > 
> > I've looked at the BasePeer source code and it returns the record using the
> > workingdogs.village.QueryDataSet class, which seems to set up a DB connection, execute
the
> > query,
> > return the list, then close the connection.  So I'm kind of stumped here.  Does
anyone have
> any
> > idea what's going on?  Do you have any suggestions for optimizing the query?  Below
is the
> full
> > code.
> > 
> > Thanks in advance,
> > Daniel
> > -----------------------------
> > 
> > Criteria criteria = new Criteria();
> > 
> > try {
> > 
> > // the actual query:  joins and select columns
> > criteria.addJoin(TaskTypePeer.TKTP_ID, TaskPeer.TASK_TKTP_ID);
> > criteria.addJoin(TaskPeer.TASK_WKFL_ID, WorkflowPeer.WKFL_ID);
> > criteria.addJoin(WorkflowPeer.WKFL_LOAN_ID, LoanPeer.LOAN_ID);
> > criteria.addJoin(TaskPeer.TASK_WRKQ_ID, WorkquePeer.WRKQ_ID);
> > criteria.add(TaskPeer.TASK_STATUS, "open");
> > criteria.add(WorkquePeer.WRKQ_WKGP_ID, workgroupID);
> > criteria.addAscendingOrderByColumn(TaskPeer.TASK_TKTP_ID);
> > TaskPeer.addSelectColumns(criteria);
> > TaskTypePeer.addSelectColumns(criteria);
> > WorkflowPeer.addSelectColumns(criteria);
> > ReducedLoanPeer.addSelectColumns(criteria);
> > 
> > // return the results as a list of Village Records
> > List resultlist = BasePeer.doSelect(criteria);
> > 
> > // Load the OM objects
> > Task task = new Task();
> > TaskType tasktype = new TaskType();
> > Workflow workflow = new Workflow();
> > ReducedLoan loan = new ReducedLoan();
> > 
> > // instantiate classes for the row2Object call
> > Class taskClass = TaskPeer.getOMClass();
> > Class taskTypeClass = TaskTypePeer.getOMClass();
> > Class workflowClass = WorkflowPeer.getOMClass();
> > Class loanClass = ReducedLoanPeer.getOMClass();
> > 
> > for (int i = 0; i < resultlist.size(); i++) {
> > 	row = (Record) resultlist.get(i);
> > 	task = TaskPeer.row2Object(row, TASK_OFFSET, taskClass);
> > 	tasktype = TaskTypePeer.row2Object(row, TASK_TYPE_OFFSET, taskTypeClass);
> > 	workflow = WorkflowPeer.row2Object(row, WORKFLOW_OFFSET, workflowClass);
> > 	loan = ReducedLoanPeer.row2Object(row, LOAN_OFFSET, loanClass);
> > }
> > 
> > } catch (Exception e) {
> > }
> > 
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
> > For additional commands, e-mail: torque-user-help@db.apache.org
> > 
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
> > For additional commands, e-mail: torque-user-help@db.apache.org
> > 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
> For additional commands, e-mail: torque-user-help@db.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
> For additional commands, e-mail: torque-user-help@db.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
For additional commands, e-mail: torque-user-help@db.apache.org


Mime
View raw message