the patch is checked in.
olli please have a look at the method _storeCollections_ when time permits, i think it needs refactoring.
jakob
Andy Malakov wrote:
Thanks.
In my case eliminating extra SELECT and DELETE for MtoNImplementor (as described below) made batch inserts 5 times faster.
----- Original Message ----- From: <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
Sent: Tuesday, November 04, 2003 5:06 AM
Subject: RE: Simple performance improvement Re: m:n relations mapping...
Hello Andy,
I will have a look at it when I have time.
Please post messages like this to the OJB users' or developers' list.
Thank you, Olli
-----Original Message----- From: Andy Malakov [mailto:[EMAIL PROTECTED] Sent: Friday, October 31, 2003 9:57 PM To: [EMAIL PROTECTED] Subject: Re: Simple performance improvement Re: m:n relations mapping...
Excellent.
Now how about going one step further and eliminating extra SELECT ? :-)))
We do not need to retrieve link table entries in case of new objects.
Class: org.apache.ojb.broker.core.PersistenceBrokerImpl: Method: storeCollections(Object obj, Vector vecCds, boolean insert) Line: 789
Now: ... if (cds.isMtoNRelation()) { currentMtoNKeys = getMtoNImplementor(cds, obj); // delete unused m:n implementors if (!insert) { deleteMtoNImplementor(cds, obj, (Collection)col, currentMtoNKeys); } }
Better:
... if (cds.isMtoNRelation()) { if (insert) { currentMtoNKeys = java.util.Collections.EMPTY_LIST; // assume no link table entries exist for new objects } else { currentMtoNKeys = getMtoNImplementor(cds, obj); // delete unused m:n implementors deleteMtoNImplementor (cds, obj, (Collection) col, currentMtoNKeys); } } ....
I tested it with P6SPY - the above fix makes extra SELECTs disappear. This two fixes make batch inserts of complex object work faster :-)
Thanks a lot for you product, Andy
----- Original Message ----- From: <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, October 31, 2003 4:41 AM
Subject: RE: Simple performance improvement Re: m:n relations mapping...
Hello,
-----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
I am uncertain whether we should fix it because it does mean a (very minor) change of behaviour. I tend to 'yes'.
I have just committed a fix.
Olli
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
