Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ajout d’un trigger d’update cor_area_synthese sur l_area #1433

Closed
bouttier opened this issue Aug 3, 2021 · 4 comments
Closed

Ajout d’un trigger d’update cor_area_synthese sur l_area #1433

bouttier opened this issue Aug 3, 2021 · 4 comments
Assignees

Comments

@bouttier
Copy link
Contributor

bouttier commented Aug 3, 2021

Il y a actuellement un trigger sur la table de synthese qui déclenche un update de cor_area_synthese mais il manque l’équivalent côté l_area. Ceci pose problème lors de l’ajout d’un référentiel géographique (par exemple les départements) alors que la synthèse contient déjà des données.

@bouttier bouttier self-assigned this Aug 3, 2021
@jbrieuclp
Copy link
Contributor

Je crois qu'il y a déjà eu un post sur cette question. Un triggers sur l_areas va faire exploser la base à lancer un requête d'intersection sur toute la synthèse a chaque ligne importée. Il vaut mieux réactualiser manuellement cor_area_synthese lorsque l_areas est modifiée. Peut-être dans ce cas faire une fonction pour permettre le lancement de cette réactualisation plus facilement.

@bouttier
Copy link
Contributor Author

bouttier commented Aug 3, 2021

Je vois comme intérêt pour une fonction par rapport à un trigger de pouvoir être lancé en tâche de fond de manière asynchrone, plutôt que de ralentir l’insertion des zones dans le référentielles géographique. Mais je pense que le temps de recalcule reste totalement identique (voir supérieur si la fonction est lancé pour l’ensemble des zones et non uniquement les zones venant d’être ajouté – plus complexe à gérer qu’avec un trigger).
Cependant, est-il réellement un problème que l’insertion des nouvelles zones prenne du temps ? Il s’agit d’une tâche de gestion de la base de données sans contrainte de temps particulière je pense.
À noter qu’il est possible de faire un trigger « for each statement », permettant de jouer les intersections à la fin de l’insertion de l’ensemble des zones souhaitées, bien que je ne sois pas sûr que cela ait un réel impact sur les performances globales.

Je reste favorable à l’utilisation d’un trigger, garantissant une bdd à jour, permettant de garder un mode de fonctionnement identique entre zones et synthèse, simplifiant le recalcule uniquement sur les nouvelles zones, et ne voyant pas de réel problème à ce que l’insertion des zones prennent du temps.

Vos avis ?

@camillemonchicourt
Copy link
Member

Oui le trigger me semble aussi plus certain et déclenché uniquement sur les zonages ajoutés ou modifiés.

@bouttier
Copy link
Contributor Author

bouttier commented Aug 4, 2021

Fait dans 451387b
Il manque sans doute un trigger sur l’update de la geom de la zone …

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants