Rendimiento en Triggers

19/10/2007 - 13:39 por Peni | Informe spam
Tengo varios trigger que actualizan el stock de artículos. Los tengo
puestos por separado los de Insert, Update y Delete, el caso es que la
única diferencia es que unos suman y otros restan. De cara al
rendimiento, es mejor dejarlos así o crear uno solo para las tres
operaciones?


=Saludos. Peni.
=

Preguntas similare

Leer las respuestas

#1 Maxi
19/10/2007 - 16:09 | Informe spam
Hola, todo depende, yo por lo general los separo por un tema de ser las
prolijo, ahora si los une y usted pone una logica complicada por esa union
entonces si se podria ver afectado en la performance, ahora si son los
mismos no!


Salu2

Microsoft MVP SQL Server
Culminis Speaker
www.sqltotalconsulting.com

"Peni" escribió en el mensaje
news:
Tengo varios trigger que actualizan el stock de artículos. Los tengo
puestos por separado los de Insert, Update y Delete, el caso es que la
única diferencia es que unos suman y otros restan. De cara al rendimiento,
es mejor dejarlos así o crear uno solo para las tres operaciones?


=> Saludos. Peni.
=>

Respuesta Responder a este mensaje
#2 Peni
19/10/2007 - 16:20 | Informe spam
Muchas gracias, me alegra esa respuesta :-)


Hola, todo depende, yo por lo general los separo por un tema de ser las
prolijo, ahora si los une y usted pone una logica complicada por esa union
entonces si se podria ver afectado en la performance, ahora si son los mismos
no!


Salu2

Microsoft MVP SQL Server
Culminis Speaker
www.sqltotalconsulting.com

"Peni" escribió en el mensaje
news:
Tengo varios trigger que actualizan el stock de artículos. Los tengo
puestos por separado los de Insert, Update y Delete, el caso es que la
única diferencia es que unos suman y otros restan. De cara al rendimiento,
es mejor dejarlos así o crear uno solo para las tres operaciones?


=>> Saludos. Peni.
=>>







=Saludos. Peni.
=
Respuesta Responder a este mensaje
#3 Eladio Rincón
23/10/2007 - 17:39 | Informe spam
hola Peni,

Es un poco cuestión de gustos como dice Maxi; el siguiente código es
ilustrativo para separar cada cosa:


CREATE TRIGGER trg_T1_IUD ON T1 FOR INSERT, UPDATE, DELETE
AS
IF @@rowcount = 0 RETURN

IF EXISTS(SELECT * FROM inserted)
IF EXISTS(SELECT * FROM deleted)
PRINT 'UPDATE'
ELSE
PRINT 'INSERT'
ELSE
PRINT 'DELETE'


por cierto, fíjate en el @@rowcount = 0 porque los triggers siempre se
activan... independientemente de que se "toquen" o no filas :)



Saludos,

Saludos,

Eladio Rincón,
SQL Server MVP
http://blogs.solidq.com/es/elrincondeldba

"Peni" wrote in message
news:
Tengo varios trigger que actualizan el stock de artículos. Los tengo
puestos por separado los de Insert, Update y Delete, el caso es que la
única diferencia es que unos suman y otros restan. De cara al rendimiento,
es mejor dejarlos así o crear uno solo para las tres operaciones?


=> Saludos. Peni.
=>

Respuesta Responder a este mensaje
#4 Peni
23/10/2007 - 18:27 | Informe spam
por cierto, fíjate en el @@rowcount = 0 porque los triggers siempre se
activan... independientemente de que se "toquen" o no filas :)


Coñe!! Eso no lo sabía, gracias :-))

hola Peni,

Es un poco cuestión de gustos como dice Maxi; el siguiente código es
ilustrativo para separar cada cosa:


CREATE TRIGGER trg_T1_IUD ON T1 FOR INSERT, UPDATE, DELETE
AS
IF @@rowcount = 0 RETURN

IF EXISTS(SELECT * FROM inserted)
IF EXISTS(SELECT * FROM deleted)
PRINT 'UPDATE'
ELSE
PRINT 'INSERT'
ELSE
PRINT 'DELETE'


por cierto, fíjate en el @@rowcount = 0 porque los triggers siempre se
activan... independientemente de que se "toquen" o no filas :)



Saludos,

Saludos,

Eladio Rincón,
SQL Server MVP
http://blogs.solidq.com/es/elrincondeldba

"Peni" wrote in message
news:
Tengo varios trigger que actualizan el stock de artículos. Los tengo
puestos por separado los de Insert, Update y Delete, el caso es que la
única diferencia es que unos suman y otros restan. De cara al rendimiento,
es mejor dejarlos así o crear uno solo para las tres operaciones?


=>> Saludos. Peni.
=>>







=Saludos. Peni.
=
Respuesta Responder a este mensaje
#5 Eladio Rincón
23/10/2007 - 18:41 | Informe spam
Evidentemente para las sentencias SELECT los triggers "todavía" no se
activan :):)
Es sólo para insert, update, delete...

Saludos,

Saludos,

Eladio Rincón,
SQL Server MVP
http://blogs.solidq.com/es/elrincondeldba

"Peni" wrote in message
news:
por cierto, fíjate en el @@rowcount = 0 porque los triggers siempre se
activan... independientemente de que se "toquen" o no filas :)


Coñe!! Eso no lo sabía, gracias :-))

hola Peni,

Es un poco cuestión de gustos como dice Maxi; el siguiente código es
ilustrativo para separar cada cosa:


CREATE TRIGGER trg_T1_IUD ON T1 FOR INSERT, UPDATE, DELETE
AS
IF @@rowcount = 0 RETURN

IF EXISTS(SELECT * FROM inserted)
IF EXISTS(SELECT * FROM deleted)
PRINT 'UPDATE'
ELSE
PRINT 'INSERT'
ELSE
PRINT 'DELETE'


por cierto, fíjate en el @@rowcount = 0 porque los triggers siempre se
activan... independientemente de que se "toquen" o no filas :)



Saludos,

Saludos,

Eladio Rincón,
SQL Server MVP
http://blogs.solidq.com/es/elrincondeldba

"Peni" wrote in message
news:
Tengo varios trigger que actualizan el stock de artículos. Los tengo
puestos por separado los de Insert, Update y Delete, el caso es que la
única diferencia es que unos suman y otros restan. De cara al
rendimiento, es mejor dejarlos así o crear uno solo para las tres
operaciones?


=>>> Saludos. Peni.
=>>>







=> Saludos. Peni.
=>

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida