borrado muy lento

25/04/2006 - 19:06 por reo | Informe spam
tengo una tabla con 69000 registros de los cuales quiero borrar 106,
la instruccion que utilizo es:

delete from tabla que campo like '00012%' and campo in (select ndoc from
#tabla_temporal) and campo2='0001201'

donde #tabla_temporal tiene justamente esos 106 registros y esta creada de
la forma

create table #tabla_temporal(ndoc varchar(20))

bueno pues esto me llega a tardar hasta 9 minutos.

he probado a crear un indice:

CREATE INDEX indice ON tabla (campo,campo2)

pero sigue tardando lo mismo

la tabla no tiene triggers, pero tiene 9 restricciones con otras tablas.

¿como podria hacer para agilizar el borrado?

Muchas gracias
 

Leer las respuestas

#1 Alejandro Mesa
25/04/2006 - 19:27 | Informe spam
reo,

Puedes postear la estructura de la tabla, incluyendo indices y
restricciones, y ademas el plan de ejecucion estimado de la sentencia
"delete"?


AMB

"reo" wrote:

tengo una tabla con 69000 registros de los cuales quiero borrar 106,
la instruccion que utilizo es:

delete from tabla que campo like '00012%' and campo in (select ndoc from
#tabla_temporal) and campo2='0001201'

donde #tabla_temporal tiene justamente esos 106 registros y esta creada de
la forma

create table #tabla_temporal(ndoc varchar(20))

bueno pues esto me llega a tardar hasta 9 minutos.

he probado a crear un indice:

CREATE INDEX indice ON tabla (campo,campo2)

pero sigue tardando lo mismo

la tabla no tiene triggers, pero tiene 9 restricciones con otras tablas.

¿como podria hacer para agilizar el borrado?

Muchas gracias



Preguntas similares