Delete lentísimo

20/11/2006 - 12:21 por jb | Informe spam
Buenas,

Tengo una tabla con 600.000 registros, y cuando hago un delete:

delete * from tabla where idPais=X

parece que no es nada complicado pero... tarda minutos y minutos en ejecutar
dicha consulta

alguna idea?

Saludos
Xus

Preguntas similare

Leer las respuestas

#1 Eladio Rincón
20/11/2006 - 12:30 | Informe spam
Puede ser que otros usuarios estén accediendo a la tabla, y tu DELETE está
esperando a que finalicen el resto de procesos?

busca en sysprocesses "where blocked <> 0", a ver qué está pasando...

por otro lado, mira en sysprocesses para el proceso de borrado el uso de
memoria, las operaciones físicas, y el lastwaittype a ver si está
"trabajando" el borrado o no...




Saludos,

Eladio Rincón,
Mentor Solid Quality Learning
SQL Server MVP


Visita mi página web
Artículos, recursos y trucos de SQL Server 2000 y 2005
http://www.siquelnet.com


"jb" wrote in message
news:
Buenas,

Tengo una tabla con 600.000 registros, y cuando hago un delete:

delete * from tabla where idPais=X

parece que no es nada complicado pero... tarda minutos y minutos en
ejecutar dicha consulta

alguna idea?

Saludos
Xus

Respuesta Responder a este mensaje
#2 Alejandro Mesa
20/11/2006 - 14:25 | Informe spam
Quiero agregar al comentario de Eladio (saludos), que tambien puede influir
la cantidad de indices que tengas en esa tabla, o si no tienes indice para
esa consulta, entonces SQL Server puede que haciendo un scan de la tabla y
esto hace que los bloqueos escalen a un nivel mas alto.


AMB

"Eladio Rincón" wrote:

Puede ser que otros usuarios estén accediendo a la tabla, y tu DELETE está
esperando a que finalicen el resto de procesos?

busca en sysprocesses "where blocked <> 0", a ver qué está pasando...

por otro lado, mira en sysprocesses para el proceso de borrado el uso de
memoria, las operaciones físicas, y el lastwaittype a ver si está
"trabajando" el borrado o no...




Saludos,

Eladio Rincón,
Mentor Solid Quality Learning
SQL Server MVP


Visita mi página web
Artículos, recursos y trucos de SQL Server 2000 y 2005
http://www.siquelnet.com


"jb" wrote in message
news:
> Buenas,
>
> Tengo una tabla con 600.000 registros, y cuando hago un delete:
>
> delete * from tabla where idPais=X
>
> parece que no es nada complicado pero... tarda minutos y minutos en
> ejecutar dicha consulta
>
> alguna idea?
>
> Saludos
> Xus
>



Respuesta Responder a este mensaje
#3 Carlos Sacristán
20/11/2006 - 16:06 | Informe spam
Y también puede influir las relaciones de integridad que tenga
establecidas con otras tablas...


Un saludo

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

"Alejandro Mesa" escribió en el
mensaje news:
Quiero agregar al comentario de Eladio (saludos), que tambien puede
influir
la cantidad de indices que tengas en esa tabla, o si no tienes indice para
esa consulta, entonces SQL Server puede que haciendo un scan de la tabla y
esto hace que los bloqueos escalen a un nivel mas alto.


AMB

"Eladio Rincón" wrote:

Puede ser que otros usuarios estén accediendo a la tabla, y tu DELETE
está
esperando a que finalicen el resto de procesos?

busca en sysprocesses "where blocked <> 0", a ver qué está pasando...

por otro lado, mira en sysprocesses para el proceso de borrado el uso de
memoria, las operaciones físicas, y el lastwaittype a ver si está
"trabajando" el borrado o no...




Saludos,

Eladio Rincón,
Mentor Solid Quality Learning
SQL Server MVP


Visita mi página web
Artículos, recursos y trucos de SQL Server 2000 y 2005
http://www.siquelnet.com


"jb" wrote in message
news:
> Buenas,
>
> Tengo una tabla con 600.000 registros, y cuando hago un delete:
>
> delete * from tabla where idPais=X
>
> parece que no es nada complicado pero... tarda minutos y minutos en
> ejecutar dicha consulta
>
> alguna idea?
>
> Saludos
> Xus
>



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