Kaedah Paging dalam SQL Server 2008
Dengan set data yang besar, adalah penting untuk melaksanakan mekanisme halaman yang cekap untuk mengelakkan pengguna dan sumber sistem yang melampau. Artikel ini meneroka alternatif untuk set hasil halaman halaman yang besar dalam SQL Server 2008, membincangkan merit mereka dan menawarkan penyelesaian prosedur tersimpan yang berprestasi tinggi.
Mendekati Paging
Satu pendekatan biasa ialah untuk menambah lajur nombor baris pada jadual dan pertanyaan berdasarkannya. Walau bagaimanapun, ini menambah overhed pada jadual dan boleh menjejaskan prestasi.
Penyelesaian Prosedur Tersimpan yang Cekap
Kaedah yang lebih cekap ialah menggunakan prosedur tersimpan yang menggunakan urutan yang berurutan lajur identiti atau lajur pengisihan yang sesuai. Prosedur tersimpan:
Prosedur tersimpan T-SQL berikut menunjukkan pendekatan ini:
CREATE PROCEDURE dbo.PagingTest ( @PageNumber int, @PageSize int ) AS BEGIN DECLARE @FirstId int, @FirstRow int; SET @FirstRow = ( (@PageNumber - 1) * @PageSize ) + 1; SET ROWCOUNT @FirstRow; 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; END;
Prosedur tersimpan ini adalah CPU dan cekap baca, walaupun untuk jadual dengan bilangan baris yang banyak. Ia juga mengendalikan lajur pengisihan bukan unik dengan berkesan dengan memasukkan lajur kedua dalam klausa ORDER BY.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Paging dengan Cekap dalam SQL Server 2008 untuk Set Data Besar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!