Performances et limites
Les performances de carte, le temps de calcul SQL et la durée des traitements sont des sujets distincts. Partez d'une action lente mesurée plutôt que d'augmenter toutes les limites.
Requêtes cartographiques
L'agrégation de densité à faible zoom réduit le volume transféré au navigateur. Aux échelles supérieures, limites par groupe et géométries simplifiées bornent l'affichage détaillé. Le total peut dépasser les objets dessinés ; relever le plafond peut ralentir la carte sans améliorer l'exhaustivité des données.
Comparez des emprises, filtres, zooms et droits équivalents. De grandes emprises ou des conditions de groupes/règles très larges augmentent le travail SQL, même si peu d'objets sont finalement retournés.
Diagnostiquer le travail SQL
Pour un traitement lent, examinez requêtes actives et blocages avec un compte de base autorisé. Une requête active sans bloqueur peut simplement calculer. Un DELETE peut consacrer beaucoup de temps à l'intégrité référentielle lorsque les colonnes référençantes manquent d'index utiles.
SELECT pid, application_name, state,
now() - query_start AS duration,
wait_event_type, wait_event,
pg_blocking_pids(pid) AS blockers,
left(query, 500) AS query
FROM pg_stat_activity
WHERE datname = current_database()
AND state <> 'idle'
AND pid <> pg_backend_pid()
ORDER BY query_start;
Le texte SQL peut contenir des informations sensibles : masquez-les avant partage. Un plan de requête permet d'identifier index manquants et conditions coûteuses ; évitez un EXPLAIN ANALYZE improvisé sur une écriture, car il exécute la requête.
Coût du découpage
Le découpage reconstruit un jeu dérivé et le remplace transactionnellement. Index source/target, clés étrangères, volumes et stockage influencent sa durée. Le traitement journalise chaque étape de construction/publication. Le contrôle effectue lui aussi beaucoup de travail avant rollback : sa durée peut approcher celle d'une publication.
Ne contournez pas une lenteur en désactivant les contraintes ou en remplaçant la publication transactionnelle par des mises à jour partielles indépendantes. Identifiez d'abord l'instruction lente et son éventuel bloqueur.
Intégration bornée
La limite de racines borne la sélection. Le curseur persistant parcourt les candidats même lorsque certains sont bloqués. Un petit lot réussi ne signifie pas que toute la file est vide ; examinez les passages suivants et les blocages.
Conservez les preuves d'exécution pendant le diagnostic. N'augmentez pas le débit par des relances automatiques incontrôlées après un append incertain. La cohérence prime sur la disparition d'un compteur.