Mekanisme Paging Pelayan SQL yang Cekap
Apabila berurusan dengan senarai rekod yang luas, adalah penting untuk mengoptimumkan pengambilan data atas sebab prestasi. Untuk mengelak daripada membebankan sistem anda, pendekatan praktikal adalah dengan melaksanakan paging, membenarkan pengguna memilih subset data tertentu.
Pendekatan Nombor Baris
Menambah nombor baris pada setiap rekod dan penapisan berdasarkan nombor itu adalah penyelesaian yang berdaya maju. Walau bagaimanapun, ia mungkin memperkenalkan overhed prestasi, terutamanya apabila jadual besar.
Prosedur Tersimpan Dioptimumkan
Prosedur tersimpan T-SQL berikut menyediakan mekanisme halaman yang sangat cekap:
CREATE PROCEDURE dbo.PagingTest ( @PageNumber int, @PageSize int ) AS DECLARE @FirstId int, @FirstRow int SET @FirstRow = ( (@PageNumber - 1) * @PageSize ) + 1 SET ROWCOUNT @FirstRow -- Add check here to ensure that @FirstRow is not -- greater than the number of rows in the table. SELECT @FirstId = [Id] FROM dbo.TestTable ORDER BY [Id] SET ROWCOUNT @PageSize SELECT * FROM dbo.TestTable WHERE [Id] >= @FirstId ORDER BY [Id] SET ROWCOUNT 0 GO
Prosedur tersimpan ini menggunakan keupayaan pengoptimum SQL untuk mencari ID pertama dengan cekap. Digabungkan dengan ROWCOUNT, ia memastikan CPU dan pendekatan cekap baca. Ia amat berkesan untuk jadual dengan bilangan baris yang banyak.
Pertimbangan
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Paging dengan Cekap dalam Pelayan SQL untuk Set Data Besar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!