MySQLでROWNUM

MySQL  ORACLE ROWNUM の代わり

set @rownum = 0;
select @rownum := @rownum+1 as rownum,id,name from tbldata;

または、

select @i:=@i+1 as rownum,id,name from (select @i:=0) as dummy,tbldata;

と書くが、iBATIS で<select>タグに書くとなるとこれが書けない。

仕方なく以下のようにするが遅くなってしまう。
ROWNUM を使うケースはあまりないが。。。

<select id="getResultLog" resultClass="Tbldata">
   SELECT * FROM
    ( SELECT @rownum:=@rownum+1 AS rownum,t.id,t.name FROM tbldata t,(SELECT @rownum:=0 FROM dual) a
    ) b
   WHERE rownum BETWEEN 20 AND 30
</select>