Для второго и третьего варианта next() вызывается 2 раза для первой записи. Так что скорее всего вы её пропустите, если конечно не поставите обработку записи после
PHP код:
if(qr.next())
{
tbl = qr.getNo(1);
и ускорение скорее всего мнимое получалось, так как записи с сервера тянутся пачками по нескольку штук, то может показаться что извлечение первой записи происходит долго, а следующих за ней - быстро.
Вы уверены что измеряли во втором и 3-м примерах время получения всех записей, и не пропустили время получения первой ?
PHP код:
if(qr.next())
{
tbl = qr.getNo(1);