Chris I would like to work on this with you. I have a different DB, but large amount of records. I suggest that we do an java.recordset test like your direct call to mydb. 1)connect to db 2)make SQL execute to return the first recordset using cursors. 3)then another call that moves the cursor by x number of records.
this will give us a reference from java through the driver to the db. then compare that to the calls for the same number of records through the code your using. The will give us a delta of what ofbiz is adding to to the timing and a benchmark to work on code. It may turn out that there is something funky about the way mydb works. I read something like it max record count 5.0 is about 4 million. Since to to cursor and know the end of the recordset, it must find them all. if the number of records you have is close the max record set that may cause a problem. Chris Howe sent the following on 12/31/2007 5:24 PM: > I've recently been playing with a data set that has about 4 million > records in the Person entity and am having some performance issues in > the Entity Data Maintenance portion of Webtools. > > The only search term is partyTypeId="PERSON" > > The bottleneck is the resultEli = delegator... It takes about 30 > seconds > > efo.setResultSetType(EntityFindOptions.TYPE_SCROLL_INSENSITIVE); > EntityListIterator resultEli = null; > resultEli = delegator.findListIteratorByCondition(entityName, > condition, null, null, null, efo); > resultPartialList = resultEli.getPartialList(lowIndex, highIndex - > lowIndex + 1); > > running the following query from the mysql command line take 0.80 > seconds > SELECT * FROM person WHERE party_type_id="PERSON" limit 0,200; > > Can anyone offer assistance as to why the discrepency? > > > >
