Rendimiento de fórmulas en columnas.

08/07/2005 - 12:53 por José Antonio | Informe spam
Tengo una tabla con dos campos numericos:

columna cantidad que guarda la cantidad prestada
columna devuelta que guarda la cantidad devuelta.

cuando la cantidad prestada sea igual que la devuelta quiero poner una
columna flag para saber que ha devuelto completamente lo prestado.

puedo poner una formula en esta columna de la forma 'case when
cantidad>devuelta then 'N' else 'S' end, esto bastaria para que sql server
lo cambiase el flag automaticamente.

tambien lo podria hacer con un trigger.

mi única duda es teniendo en cuenta que la actualización de la columna
devuelta es bastante grande ¿Que ofrece mejor rendimiento la fórmula o la
utilización de un trigger para cambiar el flag?


Saludos
 

Leer las respuestas

#1 Maxi
08/07/2005 - 13:42 | Informe spam
Hola, sinn dudas que el case es mucho mas eficiente porque solo es una
tranformacion de los datos al vuelo. Los triggers no solo que seran mas
ineficientes sino que tambien son mucho mas complejos de administrar y no te
asegurare el 100% de confiabilidad, ya que estos se pueden deshabilitar (por
ej si se pasan datos via DTS)


Salu2
Maxi


"José Antonio" escribió en el
mensaje news:
Tengo una tabla con dos campos numericos:

columna cantidad que guarda la cantidad prestada
columna devuelta que guarda la cantidad devuelta.

cuando la cantidad prestada sea igual que la devuelta quiero poner una
columna flag para saber que ha devuelto completamente lo prestado.

puedo poner una formula en esta columna de la forma 'case when
cantidad>devuelta then 'N' else 'S' end, esto bastaria para que sql server
lo cambiase el flag automaticamente.

tambien lo podria hacer con un trigger.

mi única duda es teniendo en cuenta que la actualización de la columna
devuelta es bastante grande ¿Que ofrece mejor rendimiento la fórmula o la
utilización de un trigger para cambiar el flag?


Saludos


Preguntas similares