Eficiencia de las vistas

26/11/2004 - 17:20 por e-lores | Informe spam
Tengo una tabla con unos 700.000 resgistros. Necesito agrupar estos
registros para lo cual he hecho tres pruebas.

1.- Crear una vista
2.- Crear un procedimiento almacenado
3.- Crear otra tabla.

(las tres tendran 28.000 registros)

Evidentemente la opción 3 me parece la peor ya que estoy duplicando datos y
a la hora de eliminar y modificar tendré que ir con mucho cuidado. Sin
embargo, al hacer un simple SELECT * FROM , obtengo los siguientes
tiempos

vista --> 17 segundos.
procedimiento --> 17 segundos.
tabla --> 0,9 segundos.

La verdad es que no soy un experto en BBDD pero me han decepcionado estos
resultados. ¿He enfocado mal el problema? ¿Hay alguna forma de mejorar estos
tiempos sin tener que utilizar la opción 3?

Gracias.
Ernesto Lores.

Preguntas similare

Leer las respuestas

#1 Joel Woo
26/11/2004 - 18:40 | Informe spam
disculpa, e-lores que es lo que pretendes hacer, no es mas facil utilizar el
Group By para agrupar tus datos

"e-lores" escribió en el mensaje
news:%
Tengo una tabla con unos 700.000 resgistros. Necesito agrupar estos
registros para lo cual he hecho tres pruebas.

1.- Crear una vista
2.- Crear un procedimiento almacenado
3.- Crear otra tabla.

(las tres tendran 28.000 registros)

Evidentemente la opción 3 me parece la peor ya que estoy duplicando datos
y
a la hora de eliminar y modificar tendré que ir con mucho cuidado. Sin
embargo, al hacer un simple SELECT * FROM , obtengo los siguientes
tiempos

vista --> 17 segundos.
procedimiento --> 17 segundos.
tabla --> 0,9 segundos.

La verdad es que no soy un experto en BBDD pero me han decepcionado estos
resultados. ¿He enfocado mal el problema? ¿Hay alguna forma de mejorar
estos
tiempos sin tener que utilizar la opción 3?

Gracias.
Ernesto Lores.


Respuesta Responder a este mensaje
#2 Gustavo Larriera [MVP]
26/11/2004 - 18:48 | Informe spam
e-lores wrote:
Tengo una tabla con unos 700.000 resgistros. Necesito agrupar estos
registros para lo cual he hecho tres pruebas.

1.- Crear una vista
2.- Crear un procedimiento almacenado
3.- Crear otra tabla.

(las tres tendran 28.000 registros)

Evidentemente la opción 3 me parece la peor ya que estoy duplicando datos y
a la hora de eliminar y modificar tendré que ir con mucho cuidado. Sin
embargo, al hacer un simple SELECT * FROM , obtengo los siguientes
tiempos

vista --> 17 segundos.
procedimiento --> 17 segundos.
tabla --> 0,9 segundos.



Puedes decir cuál es la estructura de la tabla, cuál es la condición
WHERE que filtra 28 mil de los 700 mil y cuáles índices tienes creados
en la tabla?

Saludos
gux
Gustavo Larriera, MVP
Uruguay LatAm
http://sqljunkies.com/weblog/gux/
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and
confers no rights.
Respuesta Responder a este mensaje
#3 Javier Loria
26/11/2004 - 19:12 | Informe spam
Hola:
Yo creo que estas enfocando mal el problema. No debe ser cuanto tiempo
tardo en hacer SELECT sobre la nueva tabla el problema, la medida debe ser
cuanto tiempo tardo en crear la nueva tabla.
En todo caso como bien, sin el esquema de las tablas e indices es solo
un asunto de opinion.
Saludos,

Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda

"e-lores" wrote in message
news:#
Tengo una tabla con unos 700.000 resgistros. Necesito agrupar estos
registros para lo cual he hecho tres pruebas.

1.- Crear una vista
2.- Crear un procedimiento almacenado
3.- Crear otra tabla.

(las tres tendran 28.000 registros)

Evidentemente la opción 3 me parece la peor ya que estoy duplicando datos


y
a la hora de eliminar y modificar tendré que ir con mucho cuidado. Sin
embargo, al hacer un simple SELECT * FROM , obtengo los siguientes
tiempos

vista --> 17 segundos.
procedimiento --> 17 segundos.
tabla --> 0,9 segundos.

La verdad es que no soy un experto en BBDD pero me han decepcionado estos
resultados. ¿He enfocado mal el problema? ¿Hay alguna forma de mejorar


estos
tiempos sin tener que utilizar la opción 3?

Gracias.
Ernesto Lores.


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida