Може би бихте могли да създадете таблица за индексиране, която предоставя последователен ключ, свързан с ключа във вашата целева таблица. След това можете да присъедините тази таблица за индексиране към вашата целева таблица и да използвате клауза where, за да получите по-ефективно редовете, които искате.
#create table to store sequences
CREATE TABLE seq (
seq_no int not null auto_increment,
id int not null,
primary key(seq_no),
unique(id)
);
#create the sequence
TRUNCATE seq;
INSERT INTO seq (id) SELECT id FROM mytable ORDER BY id;
#now get 1000 rows from offset 1000000
SELECT mytable.*
FROM mytable
INNER JOIN seq USING(id)
WHERE seq.seq_no BETWEEN 1000000 AND 1000999;