Ada banyak metode kueri paging, dan saya akan menggabungkannya di sini.
Ada pengaturan Set Rowcount di SQL Server, yang berarti pemrosesan perintah berhenti memproses perintah setelah merespons jumlah baris yang ditentukan. Dengan menggunakan fitur ini, kita dapat menggunakannya untuk mencapai kinerja tinggi dalam puluhan juta level baris tabel data kinerja. Mari kita bahas dulu tentang metode penerapannya:
1. Anggaplah ada ID field kunci utama (tipe integer) pada Tabel yang telah diindeks. Kita akan mengambil data untuk paging sesuai dengan field ini.
2. Kita masukkan ukuran halaman di @PageSize
3. Kami memasukkan nomor halaman saat ini di @CurrentPage
4. Bagaimana cara cepat menggulir penunjuk record ke baris di awal data yang ingin kita ambil? Dengan Set RowCount, kita dapat dengan mudah mengimplementasikannya.
5. Jika kita berhasil menggulir penunjuk record ke baris di awal data yang ingin kita ambil, lalu mencatat nilai kolom ID record di baris tersebut, maka dengan menggunakan Top dan condition, kita dapat dengan mudah mendapatkan halaman data yang ditentukan. Tentunya dengan Set RowCount apakah kita masih menggunakan Top?
Mari kita lihat bagaimana Set Rowcount dapat membantu kita:
Deklarasikan @ID int
Deklarasikan @MoveRecords int
--@CurrentPage dan @PageSize adalah parameter masuk
Set @MoveRecords=@CurrentPage * @PageSize+1
--Dua baris berikut memungkinkan pengguliran cepat ke baris data yang ingin kita ambil, dan mencatat ID
Tetapkan Jumlah Baris @MoveRecords
Pilih @ID=ID dari Tabel1 Urutan berdasarkan ID
Set Jumlah Baris @PageSize
--Saya benci menggunakan * untuk mengurangi masalah, tapi untuk kenyamanan penjelasan, saya akan menggunakannya sementara.
Pilih * Dari Tabel1 Dimana ID>=@ID Diurutkan Berdasarkan ID
Tetapkan Jumlah Baris 0
Anda dapat mencobanya. Dalam tabel dengan catatan 1.000W, Anda dapat dengan cepat membalik halaman ke halaman 100 (100 entri per halaman) dan melihat seberapa cepatnya!
Sumber: BLOG Nanfeng
http://name-lh.cnblogs.com/archive/2006/03/08/346059.html