Jose Mercedes Venegas Acevedo escribió: > Estoy moviendo mi BD a postgres 13 y estoy aprovechando para hacer algunos > ajustes actualmente tengo un conjunto de triggers comunes para unas 250 > tablas que clasifican objetos geométricos el tema es que estas asignaciones > automaticas estan empezando a crecer porque tengo casos en los que ejecuto > digamos hasta 12 trigers por cada insercion de registro y como se trata de > informacion geografica en ocasiones se insertar en numeros de miles de > registros.
Hola José, en general no vale la pena optimizar multiples triggers para convertirlos en uno solo, asumiendo que son triggers BEFORE que modifican NEW, es decir no estás haciendo reales UPDATE en el trigger sino modificando el registro en memoria. Seguramente si haces un "micro-benchmark" vas a poder medir una diferencia de llamar un trigger que hace 5 cosas en vez de cinco triggers que hacen una cosa cada uno; pero en la práctica es difícil que esa diferencia tenga importancia. Ahora, si se trata de registros AFTER que hacen otras operaciones, por ejemplo un INSERT o un UPDATE en otra tabla, entonces sí te puede convenir mezclar varios triggers en uno solo, si es que eso te permite reducir la cantidad de operaciones totales. Pero si cada trigger hace operaciones separadas, entonces la cantidad de triggers tampoco debería importar mucho. Si tienes constraints DEFERRED también cambia la respuesta. Saludos