Cuando el señoríto Oracle va lento es ineresante poder ver por que pasa.
Uno de los motivos puede ser que las estadisticas estén muy viejas. Si, Oracle ejecuta consultas de muchas maneras distintas, vease explain plan, y una de las opciones es que haga las consultas en base a estadisticas.
De momento te diré que en estas tablas se guarda meta-información sobre la base de datos que te puede ser muy útil:
* USER_TABLES Aqui puedes ver todo lo referente a las tablas. Como por ejemplo cuando se calcularon las estadisticas para esa tabla por última vez
select * from user_tables where table_name like '%tu_tabla%';
select * from user_indexes
Una posibilidad para optimizar las consultas en tablas con GRAN MOVIMIENTO es re-hacer los índices y las tablas.
Igualmente es bueno generar asiduamente estadisticas de nuestras tablas para poder optimizar los tiempos de respuesta
Pues eso. Te dejo un ejemplo de como generar estadisticas para todo un usuario:
begin dbms_stats.gather_schema_stats(ownname=>'TU_USUARIO', degree=>4 , method_opt=>'FOR ALL INDEXED COLUMNS SIZE AUTO', estimate_percent=>DBMS_STATS.AUTO_SAMPLE_SIZE, cascade=>TRUE ); end; /