Maison >base de données >tutoriel mysql >Comment paginer efficacement de grands ensembles de résultats JDBC sans « rs.absolute() » ?
Problème :
Vous devez implémenter une pagination efficace pour les grands ensembles de résultats dans JDBC sans utiliser rs.absolute() ou rownum/limit offset.
Approche :
Bien que JDBC ne fournisse pas nativement de support de pagination, vous pouvez l'implémenter efficacement en modifiant directement votre requête SQL.
Solution :
Utiliser Mots-clés de pagination spécifiques à la base de données :
Certaines bases de données (par exemple, MySQL, PostgreSQL) proposent des mots-clés spécifiques à la pagination comme LIMIT et OFFSET. Par exemple :
SELECT * FROM data LIMIT 50 OFFSET 0;
Sous-requête avec numéro de ligne (Oracle) :
Oracle n'a pas de mot-clé de pagination intégré. Au lieu de cela, vous pouvez utiliser une sous-requête avec la pseudo-colonne ROWNUM :
SELECT * FROM ( SELECT sub_data.*, rownum rnum FROM data sub_data ) WHERE rnum BETWEEN 1 AND 50;
Avantages de la pagination de la base de données :
Approches alternatives :
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!