Eliminar declaración fue muy lento en Oracle
Tengo una tabla con unos 100k registros y quiero eliminar algunas filas. El problema es que laDELETE
La declaración se está ejecutando muy lentamente, no se terminó en 30 minutos. Pero elselect
La declaración fue devuelta en 1 segundo.
losSELECT
declaración es la siguiente:
select * from daily_au_by_service_summary
where summary_ts >= to_date('09-04-2012','dd-mm-yyyy')
order by summary_ts desc;
yDELETE
declaración es la siguiente:
delete from daily_au_by_service_summary
where summary_ts > to_date('09-04-2012','dd-mm-yyyy');
Esta tabla tiene el único índice ensummary_ts
.
¿Cuál podría ser la razón?
EDIT: la mesa estaba bloqueada por muchas sesiones:
SESSION_ID ORACLE_USERNAME OS_USER_NAME OBJECT OWNER OBJECT_NAME OBJECT_TYPE LOCKED_MODE
---------- ------------------------------ ------------------------------ ------------------------------ -------------------------------------------------------------------------------------------------------------------------------- ------------------- -----------
213 T03RPT elou T03RPT DAILY_AU_BY_SERVICE_SUMMARY TABLE 3
203 T03RPT elou T03RPT DAILY_AU_BY_SERVICE_SUMMARY TABLE 3
202 T03RPT elou T03RPT DAILY_AU_BY_SERVICE_SUMMARY TABLE 3
190 T03RPT elou T03RPT DAILY_AU_BY_SERVICE_SUMMARY TABLE 3
189 T03RPT elou T03RPT DAILY_AU_BY_SERVICE_SUMMARY TABLE 3
188 T03RPT elou T03RPT DAILY_AU_BY_SERVICE_SUMMARY TABLE 3
187 T03RPT elou T03RPT DAILY_AU_BY_SERVICE_SUMMARY
¿Cómo matar a estas sesiones?
El problema se resolvió después de que eliminé las sesiones que cierran la mesa, gracias a todos por la ayuda. -