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

décalage/limite optimisation des performances

La pagination est difficile; le modèle RDBMS n'est pas bien adapté à un grand nombre de requêtes de courte durée avec un défilement avec état. Comme vous l'avez noté, l'utilisation des ressources a tendance à être trop élevée.

Vous avez les options :

  • LIMIT et OFFSET
  • Utiliser un curseur
  • Copier les résultats dans une table temporaire ou dans memcached ou similaire, puis les lire à partir de là
  • x > id et LIMIT

Parmi ceux-ci, je préfère x > id avec un LIMIT . Rappelez-vous simplement la dernière pièce d'identité que vous avez vue et demandez la suivante. Si vous avez une séquence croissante monotone, ce sera simple, fiable et efficace pour les requêtes simples.