2. Запрос строишь такой:
SELECT <что нужно>
FROM <откуда>
WHERE <условие>
LIMIT <PerPage>
OFFSET <здесь значение меняется от клавиш управления PgUP,PgDown,Home,End и стрелок курсора>
Результат - мгновенный вывод на экран, т.к. выводятся только те строки, что помещаются в видимую на экране область таблицы.
FROM <откуда>
WHERE <условие>
LIMIT <PerPage>
OFFSET <здесь значение меняется от клавиш управления PgUP,PgDown,Home,End и стрелок курсора>
Демонстрация вышесказанного : http://www.fayloobmennik.net/4050409
Там в таблице не 20 тыс. строк, а все 800 тысяч.