I have another question. My application converts a huge MS Access
database to a set of XML files by traversing some really big tables with
Select queries and also querying related tables to collect the
information needed for the output. Performance is horribly bad, so I did
some profiling and found that it spends 75% of its CPU time in
org.apache.cayenne.access.ExternalTransaction.close() and another 21% in
org.apache.cayenne.conn.DriverDataSource.getConnection(). Only 2% are
spent in SelectAction.performAction().
So it appears that it opens and closes a new connection for every single
select query. I must be doing something wrong here! Where can I tell it
to re-use connections? Or make one big transaction as it is read-only
anyway? Any other hints? I hope I can reduce the processing time to 4%
of what it is now...
This email (including any attachments) may contain confidential and/or privileged
information or information otherwise protected from disclosure. If you are not the
intended recipient, please notify the sender immediately, do not copy this message
or any attachments and do not use it or any purpose or disclose its content to any
person, but delete this message and any attachments from your system.
RHEA System S.A. (RHEA) disclaims any and all liability if this email transmission
was virus corrupted, altered or falsified.
If a Non Disclosure Agreement (NDA) exists between RHEA and the receiving
organization, then all contents shall be considered proprietary and covered under