Mejora rendimiento utilizando vistas frente sql dinamico

17/03/2006 - 00:46 por Silverius | Informe spam
Hola a todos,

Tenemos una bbdd con tablas mensuales de unos 3 millones de registros (no me
digais por favor el error de trabajar asi,que ya esta tenido en cuenta,pero
la aplicacion esta asi ahora mismo y es complejo cambiarla).Estas tablas se
consultan mucho por una aplicacion en la que usamos sql dinamico para que
segun el rango de fechas atacar una tabla u otra, y se consultan por muchas
consultas distintas con parametros distintos.

La mayoria de las consultas son relativas a los 10 dias, y un porcentaje
menor de consultas llega a 30 dias.Otro 10 % de las consultas lo hacen
contra tablas anteriores.Cuando el rango de fechas comprende 2 tablas (no se
pueden consultar mas de 2) hacemos un union en la consulta dinamica.Como
estamos modificando la aplicacion poco a poco, lo primero que he pensado es
en crear una vista sobre digamos los dos ultimos meses, y solo en caso de
que la consulta sea contra fechas anteriores seguir usando el sqldinamico de
antes,sino hacerlo contra la vista.La pregunta es:

-Creeis que es una buena opcion para mejorar el rendimiento de forma
notable?
-En las tablas se agregan filas con una cadencia aproximada de 3 por
segundo en momentos punta, esto afectara a la vista?

Todas las opiniones o consejos son agradecidos,aunque como digo que no
impliquen cambiar totalmente la arquitectura de golpe por favor

Gracias y un saludo.
 

Leer las respuestas

#1 Ele
17/03/2006 - 01:15 | Informe spam
Hola no puedo ayudarte mucho, :( comparar una vista con sql dinamico tendria
que hacer una prueba. Para mejorar el rendimiento no hay otro camino que
crear indices con los campos criticos, evitar sql dinamicos reemplazado con
querys para cada caso, usar el formato standard para las fechas 'yyyymmdd' y
hacer pruebas con la ayuda de execution plan
suerte
"Silverius" escribió en el mensaje
news:
Hola a todos,

Tenemos una bbdd con tablas mensuales de unos 3 millones de registros (no


me
digais por favor el error de trabajar asi,que ya esta tenido en


cuenta,pero
la aplicacion esta asi ahora mismo y es complejo cambiarla).Estas tablas


se
consultan mucho por una aplicacion en la que usamos sql dinamico para que
segun el rango de fechas atacar una tabla u otra, y se consultan por


muchas
consultas distintas con parametros distintos.

La mayoria de las consultas son relativas a los 10 dias, y un porcentaje
menor de consultas llega a 30 dias.Otro 10 % de las consultas lo hacen
contra tablas anteriores.Cuando el rango de fechas comprende 2 tablas (no


se
pueden consultar mas de 2) hacemos un union en la consulta dinamica.Como
estamos modificando la aplicacion poco a poco, lo primero que he pensado


es
en crear una vista sobre digamos los dos ultimos meses, y solo en caso de
que la consulta sea contra fechas anteriores seguir usando el sqldinamico


de
antes,sino hacerlo contra la vista.La pregunta es:

-Creeis que es una buena opcion para mejorar el rendimiento de forma
notable?
-En las tablas se agregan filas con una cadencia aproximada de 3 por
segundo en momentos punta, esto afectara a la vista?

Todas las opiniones o consejos son agradecidos,aunque como digo que no
impliquen cambiar totalmente la arquitectura de golpe por favor

Gracias y un saludo.


Preguntas similares