Hi,

> -----Original Message-----
> From: Var George [mailto:[EMAIL PROTECTED]
> Sent: Friday, February 06, 2004 8:35 PM
> To: [EMAIL PROTECTED]
> Subject: Using Ojb in Applications with large DB tables
> 
> 
> Is this a bug in OJB (count() vs last.getrow())?

I can't verify this at the moment...

> Also are any known scalability issues in using OBJ against large 
> tables (say million+ rows)?

No, there are no OJB specific problems in working with large tables.
Of course you should take care to provide database indexes for all your
table accesses.

So Using OJB PB, OTM and ODMG APIs will be fine.
But using the OJB JDO binding with large tables is currently a no go.

SUN's JDORI does not provide any mechanism for index based selection, but
relies on a full table scan mechanism. As OJB simply works as a Plugin to
the JDORI we can't change this behaviour! This problem will only be cured
when we have our own JDO implementation working!

cheers,
Thomas

> 
> -- 
> regards
> Var George
> 
> 
> -----------------------------------------------------------
> Hi,
> 
> This is a repost. Could anybody help me on that?
> 
> Thanks,
> Zhe
> 
> > 
> > 
> > -----Original Message-----
> > From: ZZZ Liu [mailto:[EMAIL PROTECTED]
> > Sent: Tuesday, February 03, 2004 3:46 PM
> > To: [EMAIL PROTECTED]
> > Subject: Re: FW: setStartAtIndex/setEndAtIndex for a
> > very large result
> > set
> > 
> > 
> > After more investigation by looking into OJB code, I
> > found that the out of memory problem occurs in
> > org.apache.ojb.broker.accesslayer.RsIterator.size()
> > method. In that method, there are two ways to get
> > size:
> > 1) count
> > 2) .last .getRow
> > 
> > I found that 2) will give me out of memory error.I
> > tried that with pure JDBC and also got out of memory
> > error. However, if I force to use 1), it works fine.
> > I
> > am using Oracle 9i. I am worndering whether there is
> > any way to solve this problem. Currently I have to
> > set
> > jdbc-level="1.0" instead of "2.0" to force 1) is
> > used.
> > 
> > Thanks,
> > Zhe
> >  
> > 
> > > 
> > > -----Original Message-----
> > > From: ZZZ Liu [mailto:[EMAIL PROTECTED]
> > > Sent: Monday, February 02, 2004 9:01 PM
> > > To: [EMAIL PROTECTED]
> > > Subject: setStartAtIndex/setEndAtIndex for a very
> > > large result set
> > > 
> > > 
> > > Hi, All
> > > 
> > > I am trying to do a simple query against a very
> > > large
> > > table with over 200,000 records. I use
> > > QueryByCriteria
> > > without any criteria, but settiing
> > > setStartAtIndex(1)
> > > and setEndAtIndex(2). Then I use
> > getIteratorByQuery
> > > to
> > > get the result. However, I got OutOfMemory error.
> > > 
> > > I tried the same thing on a relatively small table
> > > (about 100 records) and it works fine.
> > > 
> > > Could anybody shed some light on this?
> > > 
> > > Thanks,
> > > Zhe
> 
> 
> ---------------------------------------------------------------------
> 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]

Reply via email to