optimizar consultas

26/07/2004 - 11:47 por José Cordero | Informe spam
Hola, tengo una tabla con unos 600.000 registros y las consultas tardan casi
un minuto en ejecutarse insert y updates, creo que puede ser por la
actualización de los indices. Hay alguna forma de optimizar esto?
Gracias.

Preguntas similare

Leer las respuestas

#1 Javier Loria
26/07/2004 - 13:44 | Informe spam
Hola:
Es posible que sea por los indices. Revisa cuales son los indices que
tienes construidos sobre las tablas y particularmente la forma en que esta
construido el Indice Agrupado.
Adicionalmente si es correcto que todos los indices existan, puedes
modificar o cambiar el Factor de Relleno (Fill Factor) y el Pad Index para
dejar espacios en los Indices para la insercion de datos. Luego en un Plan
de Mantenimiento regenerar el indice para volver a dejar el espacio.
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.
José Cordero escribio:
Hola, tengo una tabla con unos 600.000 registros y las consultas
tardan casi un minuto en ejecutarse insert y updates, creo que puede
ser por la actualización de los indices. Hay alguna forma de
optimizar esto?
Gracias.
Respuesta Responder a este mensaje
#2 José Cordero
26/07/2004 - 14:36 | Informe spam
Gracias, yo pensaba que serian los indices por que es lo único que se me
ocurre, pero probe a quitarlos y sigue tardando igual.

"Javier Loria" escribió en el mensaje
news:
Hola:
Es posible que sea por los indices. Revisa cuales son los indices que
tienes construidos sobre las tablas y particularmente la forma en que esta
construido el Indice Agrupado.
Adicionalmente si es correcto que todos los indices existan, puedes
modificar o cambiar el Factor de Relleno (Fill Factor) y el Pad Index para
dejar espacios en los Indices para la insercion de datos. Luego en un Plan
de Mantenimiento regenerar el indice para volver a dejar el espacio.
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.
José Cordero escribio:
> Hola, tengo una tabla con unos 600.000 registros y las consultas
> tardan casi un minuto en ejecutarse insert y updates, creo que puede
> ser por la actualización de los indices. Hay alguna forma de
> optimizar esto?
> Gracias.


Respuesta Responder a este mensaje
#3 Javier Loria
26/07/2004 - 14:47 | Informe spam
Hola Jose:
Es posible que sean los indices que se construyen por la la Integridad
(revisa los UNIQUE y la Llave Primaria (PRIMARY KEY).
Lo mas probable es que la LLave Primaria este construida como un Indice
Agrupado (Clustered Index), en algunas ocasiones el mantenimiento del indice
podria ser una carga importante cuando se produce un "Split" que es cuando
hay que dividir un indice.
Talvez podrias postear el esquema de la Tabla?

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.

José Cordero escribio:
Gracias, yo pensaba que serian los indices por que es lo único que se
me ocurre, pero probe a quitarlos y sigue tardando igual.

"Javier Loria" escribió en el mensaje
news:
Hola:
Es posible que sea por los indices. Revisa cuales son los
indices que tienes construidos sobre las tablas y particularmente la
forma en que esta construido el Indice Agrupado.
Adicionalmente si es correcto que todos los indices existan,
puedes modificar o cambiar el Factor de Relleno (Fill Factor) y el
Pad Index para dejar espacios en los Indices para la insercion de
datos. Luego en un Plan de Mantenimiento regenerar el indice para
volver a dejar el espacio. 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.
José Cordero escribio:
Hola, tengo una tabla con unos 600.000 registros y las consultas
tardan casi un minuto en ejecutarse insert y updates, creo que puede
ser por la actualización de los indices. Hay alguna forma de
optimizar esto?
Gracias.
Respuesta Responder a este mensaje
#4 Carlos Sacristan
26/07/2004 - 14:51 | Informe spam
Si tarda lo mismo con índices que sin ellos es porque los que existen no
son útiles. Prueba a pasarle el asistente de optimización para que te
recomiende los más útiles (o al menos los que la herramienta considera como
tales) y nos cuentas.


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"José Cordero" escribió en el mensaje
news:
Gracias, yo pensaba que serian los indices por que es lo único que se me
ocurre, pero probe a quitarlos y sigue tardando igual.

"Javier Loria" escribió en el mensaje
news:
> Hola:
> Es posible que sea por los indices. Revisa cuales son los indices


que
> tienes construidos sobre las tablas y particularmente la forma en que


esta
> construido el Indice Agrupado.
> Adicionalmente si es correcto que todos los indices existan, puedes
> modificar o cambiar el Factor de Relleno (Fill Factor) y el Pad Index


para
> dejar espacios en los Indices para la insercion de datos. Luego en un


Plan
> de Mantenimiento regenerar el indice para volver a dejar el espacio.
> 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.
> José Cordero escribio:
> > Hola, tengo una tabla con unos 600.000 registros y las consultas
> > tardan casi un minuto en ejecutarse insert y updates, creo que puede
> > ser por la actualización de los indices. Hay alguna forma de
> > optimizar esto?
> > Gracias.
>
>


Respuesta Responder a este mensaje
#5 Miguel Egea
26/07/2004 - 19:42 | Informe spam
Si hay integridad referencial a otras tablas, que suele ser la causa más
importante, SQl tiene que comprobar que los datos cumplen esa integridad,
donde no tienes índices adecuados muy probablemente es en esas otras tablas.
Revisa cuales son sus referencias y que índices le faltan.

Un insert de un registro tiene que ser instantáneo si no hay bloqueos.


-
Miguel Egea Gómez
Microsoft SQL-Server MVP
Webmaster de PortalSql.Com
¿Te interesa participar en las reuniones
del grupo de Usuarios de SQL-Server y .NET
Se harán en levante de España, (Alicante o Murcia)?


"José Cordero" escribió en el mensaje
news:
Gracias, yo pensaba que serian los indices por que es lo único que se me
ocurre, pero probe a quitarlos y sigue tardando igual.

"Javier Loria" escribió en el mensaje
news:
> Hola:
> Es posible que sea por los indices. Revisa cuales son los indices


que
> tienes construidos sobre las tablas y particularmente la forma en que


esta
> construido el Indice Agrupado.
> Adicionalmente si es correcto que todos los indices existan, puedes
> modificar o cambiar el Factor de Relleno (Fill Factor) y el Pad Index


para
> dejar espacios en los Indices para la insercion de datos. Luego en un


Plan
> de Mantenimiento regenerar el indice para volver a dejar el espacio.
> 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.
> José Cordero escribio:
> > Hola, tengo una tabla con unos 600.000 registros y las consultas
> > tardan casi un minuto en ejecutarse insert y updates, creo que puede
> > ser por la actualización de los indices. Hay alguna forma de
> > optimizar esto?
> > Gracias.
>
>



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