Gunakan saran pertama Anda. Yang dengan offset. Ini adalah cara "standar" untuk melakukan pagination. Menempatkan seluruh hasil yang ditetapkan ke dalam sesi akan menjadi ide yang buruk, karena setiap pengguna akan memiliki salinan data pribadinya sendiri. Jika Anda mengalami masalah kinerja, Anda selalu dapat menambahkan caching (memcache) yang akan menguntungkan semua pengguna yang mengakses data.
MySQL akan selalu menghasilkan data Anda dengan cara yang sama. Satu-satunya cara agar catatan dari halaman 1 akan muncul di halaman 2 adalah jika catatan baru dimasukkan antara waktu pengguna menavigasi dari halaman 1 ke halaman 2. Dengan kata lain:Anda tidak perlu khawatir.
Sebuah sumber daya adalah kasus MySQL adalah semacam pointer yang menunjuk ke set hasil. Anda kemudian dapat memanipulasi itu (mengambil data baris demi baris, menghitung jumlah baris yang dikembalikan, dll). Ini bukan global.