Как организовать построчное чтение из очень большой, неизменяемой таблицы?
Ещё можно делать так:
SELECT id FROM table WHERE id > последний_прочитанный_в_прошлый_раз_id ORDER BY(id) LIMIT N

Тогда при сканировании по индексу не придется каждый раз пропускать кучу записей, а можно будет начать сразу с нужного места.
asm0dey, можно попробовать… Только без дополнительно колонки, а то добавление в нее значений — дело не быстрое. Просто удалять с опереденного n. Правда придется клиентам как-то сообщать, что надо немного потерпеть, пока идет обновление таблицы. А то они нетерпеливые и при отсутствии ответа выпадают с ошибкой.