Jawaban yang biasa adalah:apakah data Anda langsung dicari di array PDOStatement::fetchAll
... Tapi SALAH JIKA kueri mengambil banyak data (!).
Ada 2 solusi nyata,
1) jika basis data mengizinkan gunakan PDO::FETCH_ORI_ABS
atau PDO::FETCH_ORI_REL
,contoh,
$result = $sth->fetch(PDO::FETCH_ASSOC, PDO::FETCH_ORI_ABS, 973);
(EDIT) Tapi, seperti yang dikomentari oleh @ChoiZ, memiliki batasan PDO-MySQL :"MySQL tidak mendukung kursor " (di luar program tersimpan) "dan driver tidak dapat menirunya untuk Anda"... Coba nanti atau dengan fork MySQL, seperti MariaDB.
2) gunakan solusi database (semacam pagination). Contoh:
SELECT a, b FROM table LIMIT 1, 973