Melangkaui halaman OFFSET SQL Server: kelebihan kecekapan halaman Keyset
Teknologi halaman adalah penting apabila berurusan dengan set data yang besar, kerana ia membolehkan kami memperoleh bahagian data tertentu dengan cekap. Walaupun SQL Server menyediakan klausa OFFSET untuk paging, ia mempunyai kesesakan prestasi. Artikel ini akan meneroka alternatif yang berprestasi lebih baik daripada OFFSET: Kelui set kekunci.
Paging set kekunci: mekanisme paging yang lebih baik
Kelui set kekunci menggunakan mekanisme yang lebih cekap daripada kelui Rowset berasaskan nombor baris yang digunakan oleh OFFSET. Daripada membaca semua baris sebelumnya, ia membenarkan pelayan mengakses lokasi yang betul dalam indeks secara langsung, meminimumkan bacaan berlebihan.
Untuk berjaya melaksanakan paging Keyset, indeks unik perlu diwujudkan pada kunci utama (dan mana-mana lajur lain yang berkaitan). Ini membolehkan mekanisme halaman untuk menavigasi data berdasarkan kunci utama dan bukannya nombor baris.
Kelebihan paging Keyset
Selain peningkatan prestasi yang ketara, halaman Keyset mempunyai kelebihan lain:
Contoh paging set kekunci
Andaikan terdapat jadual bernama 'TableName' dengan indeks pada lajur 'Id'. Pertanyaan permulaan untuk paging adalah seperti berikut:
<code class="language-sql">SELECT TOP (@numRows) * FROM TableName ORDER BY Id DESC;</code>
Permintaan seterusnya boleh mendapatkan semula halaman seterusnya:
<code class="language-sql">SELECT TOP (@numRows) * FROM TableName WHERE Id < (SELECT MAX(Id) FROM (SELECT TOP (@numRows) Id FROM TableName ORDER BY Id DESC) AS LastPage) ORDER BY Id DESC;</code>
Nota tentang paging Keyset
Kesimpulan
Untuk paging set data yang besar, Keyset paging terbukti sebagai alternatif unggul kepada SQL Server OFFSET. Kecekapannya, akses kunci utama langsung dan keupayaan untuk mengelakkan baris yang hilang menjadikannya ideal sebagai pilihan pengambilan data terbaik dalam senario halaman.
Atas ialah kandungan terperinci Adakah Penomboran Keyset Alternatif yang Lebih Baik kepada OFFSET Pelayan SQL untuk Penomboran Data yang Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!