ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Clinton Begin" <clinton.be...@gmail.com>
Subject Re: QueryForList : How does maxRows work?
Date Mon, 14 May 2007 13:16:18 GMT
Yes, it works with <statement>, <select> and <procedure>.

You might benefit from a XML editor that can read DTDs and help you find
some of these lesser known/used features of the SQL mapping files.  I
suggest NetBeans IDEA, or (gulp) Visual Studio Express.... ;-)

Clinton

On 5/14/07, BenBaril <benjamin.baril@fbn.ca> wrote:
>
>
> Is there an equivalent for stored procedures?
>
> Clinton Begin wrote:
> >
> > With a good database driver, you wouldn't get 1000s of rows back anyway,
> > whether it supported fetchSize or not.  And most good database drivers
> > will
> > have an intelligent default for fetch size, or even a self-optimizing
> one
> > that you won't want to mess with.
> >
> > However, if you want to test it out with or without it, you can just add
> > it
> > as an attribute to <select ... fetchSize="10"> or whatever value makes
> > sense
> > to your situation.
> >
> > Clinton
> >
> > On 5/13/07, BenBaril <benjamin.baril@fbn.ca> wrote:
> >>
> >>
> >> Can you explain how to set the fetch size? As this is something I would
> >> be
> >> curious in. We are mostly concerned about the cost of the bandwidth, as
> >> we
> >> don't want to get back 1000s of rows when we only want a few douzain.
> >>
> >> Clinton Begin wrote:
> >> >
> >> > PS:  if it hasn't been made clear by my previous posts, if you call
> >> > queryForList with a maxRows attribute, it will only request that many
> >> rows
> >> > back from the database.  It won't bring back all 10k.  This of course
> >> > depends on the driver, but I've never seen one that does something
> that
> >> > silly.  ;-)
> >> >
> >> > Clinton
> >> >
> >> > On 5/11/07, Clinton Begin <clinton.begin@gmail.com> wrote:
> >> >>
> >> >> If it's a proc returning that result set, then I doubt setMaxRows
> >> would
> >> >> help anyway.  You can't just apply a limit outside of the scope of
> the
> >> >> proc,
> >> >> the result set has already been built.
> >> >>
> >> >> The only applicable performance factor that you have control of
> >> outside
> >> >> of
> >> >> the proc is the fetch size, the size of the batches of rows that are
> >> >> returned at a time.  And even that is only a driver "hint".  iBATIS
> >> >> supports
> >> >> it as an attribute of the <select> element.
> >> >>
> >> >> Clinton
> >> >>
> >> >> On 5/10/07, BenBaril <benjamin.baril@fbn.ca> wrote:
> >> >> >
> >> >> >
> >> >> > I'm working with a small team doing a Proof of Concept at a
> customer
> >> >> > location. We're looking at iBATIS as a DAO solution however we
> have
> >> >> many
> >> >> > stored procedures that return upwards of 10k rows. Our previous
> >> >> solution
> >> >> > cut
> >> >> > the number of rows returned to a fixed limit.
> >> >> >
> >> >> > Is there any way to do this using iBATIS currently? Since we have
> no
> >> >> > handle
> >> >> > to the statement, I'm at a loss right now.
> >> >> >
> >> >> > Any help would be greatly appreciated.
> >> >> >
> >> >> > Thanks
> >> >> >
> >> >> > Clinton Begin wrote:
> >> >> > >
> >> >> > > No, it doesn't call setMaxRows.  Probably a legacy decision
for
> >> >> driver
> >> >> > > compatibility reasons, but I suppose we're well past that
> now.  If
> >> >> you
> >> >> > > think
> >> >> > > it will improve performance for you, we can probably add
it.  If
> >> so,
> >> >> > > please
> >> >> > > open a JIRA ticket for it.
> >> >> > >
> >> >> > > Clinton
> >> >> > >
> >> >> > > On 5/10/07, BenBaril < benjamin.baril@fbn.ca> wrote:
> >> >> > >>
> >> >> > >>
> >> >> > >> I'm wondering on how the implementation of maxRows works
when
> >> >> calling
> >> >> > >> queryForList. Does it execute a stmt.setMaxRows(maxRows);
or
> does
> >> it
> >> >> > >> receive
> >> >> > >> all the rows from the database, parse then trim?
> >> >> > >>
> >> >> > >> Thanks,
> >> >> > >> Benjamin Baril
> >> >> > >> --
> >> >> > >> View this message in context:
> >> >> > >>
> >> >> >
> >> >>
> >>
> http://www.nabble.com/QueryForList-%3A-How-does-maxRows-work--tf3722314.html#a10415657
> >> >> > >> Sent from the iBATIS - User - Java mailing list archive
at
> >> >> Nabble.com
> >> >> > .
> >> >> > >>
> >> >> > >>
> >> >> > >
> >> >> > >
> >> >> >
> >> >> > --
> >> >> > View this message in context:
> >> >>
> >>
> http://www.nabble.com/QueryForList-%3A-How-does-maxRows-work--tf3722314.html#a10417487
> >> >> >
> >> >> > Sent from the iBATIS - User - Java mailing list archive at
> >> Nabble.com
> >> .
> >> >> >
> >> >> >
> >> >>
> >> >
> >> >
> >>
> >> --
> >> View this message in context:
> >>
> http://www.nabble.com/QueryForList-%3A-How-does-maxRows-work--tf3722314.html#a10489862
> >> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
> >>
> >>
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/QueryForList-%3A-How-does-maxRows-work--tf3722314.html#a10602161
> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>
>

Mime
View raw message