PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

eclipselink jpa génère des requêtes de comptage en utilisant COUNT(id) au lieu de COUNT(*)

J'ai réussi à fournir une implémentation personnalisée de la classe de base Spring Data Repository et une usine utilisant cette implémentation. Les requêtes de comptage générées par les résultats ont désormais la forme suivante :

SELECT COUNT(1) FROM table

qui a le même plan que COUNT(* ). Cela semble être une bonne solution et fonctionne globalement pour tous les référentiels définis dans l'application.

Je ne savais pas comment générer COUNT(* ), COUNT(1) était beaucoup plus facile car la fonction COUNT attend certaines expressions en tant que paramètres et je pouvais fournir une valeur statique - 1