Muchas gracias Alvaro Como siempre muy ilustrativo tu respuesta estoy en ambos escenarios tengo un conjunto de trigger que luego de efectuar unas cuantas operaciones geometricas asignan valores al new antes del insert y por otro lado tengo un conjunto de triggers AFTER que luego del insert ejecutan operaciones de modificacion en otras tablas que a su vez al modificarse ejecutan otros triggers.
En conclusión voy a ver como puedo minimizar el número de operaciones en los triggers y tratar de unir algunos para que sean uno solo ya que la mayoria lo que hacen es al darse un insert van e insertar y actualizan otras tablas que a su vez insertar y actualizan otras por los triggers que manejan, para el caso de los news creo que tambien podria agrupar algunos en uno solo aunque eso signifique escribir mas triggers personalizados para cada tabla. Gracias nuevamente que tengas buen dia. El vie., 9 oct. 2020 a las 12:17, Alvaro Herrera (<alvhe...@alvh.no-ip.org>) escribió: > 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 > -- José Mercedes Venegas Acevedo cel Mov RPC 964185205