Saya bertanya-tanya apa alasan di balik pagination? Apakah ini digunakan karena mengurangi beban pada server karena secara teknis kami akan membatasi jumlah baris yang dikembalikan per halaman?
Saya ingin melakukan sesuatu tanpa pagination tetapi mengingat bahwa saya baru dalam hal ini (saya seorang amatir) mulai bertanya-tanya apakah secara teknis OK atau tidak.
php
pagination
Sam Khan
sumber
sumber
Jawaban:
Ada sejumlah alasan untuk memiliki pagination, mengurangi beban server hanyalah satu. Namun, Stephen Orr memunculkan poin yang valid - Anda masih perlu menemukan jumlah data terlebih dahulu. Anda harus memastikan bahwa bahwa permintaan cepat dan tidak terlalu memuat server Anda.
Alasan lain termasuk:
Dalam kedua kasus ini, Anda tidak ingin membuat pengguna menunggu - baik untuk data yang tidak akan mereka lihat, atau untuk semua data ketika mereka bisa mendapatkannya dengan memprosesnya.
sumber
Ini bervariasi tergantung pada implementasi.
Ini akan mempercepat rendering halaman, tetapi itu tidak serta merta mengurangi beban pada server. Sebagian besar algoritma pagination yang naif perlu melakukan kueri terlebih dahulu untuk memutuskan berapa banyak halaman yang seharusnya, kemudian kueri lagi untuk mendapatkan set hasil "paged".
sumber
Nilai paling banyak yang Anda peroleh dari pagination adalah meningkatkan kecepatan aplikasi Anda dengan:
1 - Membatasi data yang dikirimkan antara klien dan server. Tidak ada gunanya membaca 10.000 pelanggan jika pengguna mencari 10 dari mereka.
2- Mempercepat kinerja kueri secara signifikan dengan mengambil hanya baris yang dapat ditampung dalam tampilan pengguna. Tidak ada gunanya membaca 10.000 pelanggan jika pengguna akan melihat 10 pelanggan pertama.
3 - Pagination membantu dengan menyediakan lebih banyak data segar. Jika aplikasi Anda menunjukkan banyak baris data dan domain aplikasi Anda memerlukan banyak pembaruan untuk baris data dalam tabel yang ditampilkan, kemungkinannya adalah pada saat Anda pergi ke halaman 20 dari daftar halaman, data pada beberapa baris akan berubah. Pikirkan aplikasi yang membaca harga saham atau kamar yang tersedia di hotel. Mengambil data lama dan menempatkannya di klien tidak ada gunanya.
Pagination adalah salah satu strategi yang dikombinasikan dengan pemfilteran dan pemahaman Anda tentang bagaimana kebutuhan pengguna akhir dari skenario tertentu (yang diharapkan mengarah pada desain yang baik untuk melayani kebutuhan ini) akan sangat meningkatkan aplikasi khususnya ketika beberapa pengguna memukul database. secara bersamaan.
Pagination tidak selalu sepele untuk diprogram. Dalam beberapa kasus itu sederhana tetapi kadang-kadang sangat kompleks untuk ditulis sehingga query SQL dijalankan tanpa melakukan pemindaian tabel penuh. Ini tentu saja tergantung pada indeks Anda, kondisi filter dan pernyataan Where Anda.
sumber
Pagination, menurut saya, adalah ibu dari semua optimisasi prematur. Benar-benar oke untuk menulis situs Anda tanpa pagination.
Jika Anda menemukan, setelah rilis, bahwa Anda memuat terlalu banyak data dalam satu panggilan, atau bahwa pengguna Anda harus menunggu informasi yang mereka inginkan karena sibuk memuat data yang tidak mereka inginkan, silakan menulis solusi Ajax yang hanya memuat halaman saat orang gulir ke bawah (lihat: Twitter, Tumblr, pencarian gambar Google).
Sunting: Paragraf kedua di atas ditulis dengan asumsi bahwa respons umum adalah "tetapi jika Anda tahu Anda akan membuat pagination pada beberapa titik, Anda mungkin melakukannya lebih awal, daripada membuang waktu mengembangkan sesuatu yang akan Anda buang jauh."
Selain menjadi ibu dari semua optimisasi prematur, saya pikir pagination adalah mimpi buruk UX dan bahwa ada solusi yang lebih baik yang tidak memerlukan banyak pengembangan tambahan di atas halaman lengkap.
Terlepas dari jumlah downvotes, saya meninggalkan jawaban ini di sini karena saya berdiri dengan sentimen, meskipun itu mungkin bukan tulisan terbaik saya.
sumber