Just remember with rownum in oracle to do a subselect: select * from ( your real select here ) where rownum ...
Larry On Fri, May 15, 2009 at 10:42 AM, Alin Popa <alin.p...@gmail.com> wrote: > Bhaarat, > > If you're using mysql, you could do pagination using LIMIT statement, > which is pretty straight forward. > On Mssql - TOP (using cursors). > On Oracle - ROWNUM. > > > On Fri, May 15, 2009 at 7:14 PM, Bhaarat Sharma <bhaara...@gmail.com> wrote: >> that is a very interesting question. We were looking into doing pagination >> with iBatis as well but would not want a full scan on the DB but rather only >> get amount of rows specified by skipResults >> >> On Fri, May 15, 2009 at 12:10 PM, Alin Popa <alin.p...@gmail.com> wrote: >>> >>> Hi, >>> >>> I'm using iBatis with MySQL and also trying to do some pagination: >>> >>> >>> return getSqlMapClientTemplate().queryForList("getAll", skipResults, >>> maxRecords); >>> >>> and the "getAll" query: >>> >>> <select id="getAllVJobs" resultMap="simpleResult"> >>> SELECT * FROM mytable >>> </select> >>> >>> Indeed, the pagination seems to work fine, BUT in mysql logs I see >>> executed the entire "SELECT * FROM mytable" which is a full table >>> scan. >>> Doesn't seems very right to me. >>> >>> Is there a catch behind this idea ? >>> Is fetching all records and after that iterate through them ? (I don't >>> think it's very nice this way). >>> >>> Any ideas ? >>> >>> Thanks. >>> Alin >> >> > > > > -- > Best Regards, > > Alin >