Pagination efficace SQL Server et acquisition totale
Dans SQL Server, la récupération paginée vous permet de récupérer des données par lots au lieu de récupérer toutes les données en même temps. Cela peut améliorer considérablement les performances, en particulier lorsque vous travaillez avec de grands ensembles de données.
Bonnes pratiques pour SQL Server 2012 et versions ultérieures
La version SQL Server 2012 introduit une méthode de pagination plus simple. Les clauses OFFSET
et FETCH
fournissent un moyen simple de récupérer le nombre requis de résultats tout en obtenant le nombre total.
Par exemple, pour obtenir les 10 lignes de données suivantes et obtenir le total en même temps :
<code class="language-sql">-- 获取带有行号的接下来的10行 SELECT *, ROW_NUMBER() OVER (ORDER BY id) AS RowNum FROM TableName; -- 统计总行数 SELECT COUNT(*) AS TotalCount FROM TableName;</code>
Pagination utilisant OFFSET et FETCH
À partir de SQL Server 2012, vous pouvez spécifier explicitement les lignes à récupérer à l'aide des clauses OFFSET
et FETCH
:
<code class="language-sql">SELECT * FROM TableName ORDER BY id OFFSET 10 ROWS FETCH NEXT 10 ROWS ONLY;</code>
Notes clés sur OFFSET et FETCH
OFFSET
et FETCH
, la clause ORDER BY
est requise. OFFSET
et FETCH
doivent être utilisés ensemble ; OFFSET
ne peut pas être utilisé seul. OFFSET
et FETCH
ne peuvent pas être combinés avec TOP
dans la même requête. 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!