Méthodes de pagination dans SQL Server 2008
Avec de grands ensembles de données, il est crucial de mettre en œuvre des mécanismes de pagination efficaces pour éviter de surcharger les utilisateurs et les ressources système. Cet article explore les alternatives pour la pagination de grands ensembles de résultats dans SQL Server 2008, discute de leurs avantages et propose une solution de procédure stockée très performante.
Approche de la pagination
Une approche courante est pour ajouter une colonne de numéro de ligne à la table et interroger en fonction de celle-ci. Cependant, cela ajoute une surcharge au tableau et peut avoir un impact sur les performances.
Une solution de procédure stockée efficace
Une méthode plus efficace consiste à utiliser une procédure stockée qui utilise une procédure stockée séquentielle. colonne d'identité ou une colonne de tri appropriée. La procédure stockée :
La procédure stockée T-SQL suivante illustre cette approche :
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;
Cette procédure stockée est efficace en termes de CPU et de lecture, même pour les tables comportant un grand nombre de rangées. Il gère également efficacement les colonnes de tri non uniques en incorporant une deuxième colonne dans la clause ORDER BY.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!