Commit

bmgdba
02 de Septiembre del 2004
Hola a todos, estoy realizando una query, que debe seleccionar e insertar registros en una tabla de paso, le estoy dando un commit, cada 1000 registros, pero es demasiado lento, se demora aprox 1 hora por cada 1000, las querys las he optimizado hasta costo cero en algunas, que más se podría revisar como para "apurar" los resultados.

Los segmentos de rollback tienen algo que ver ?

Gracias

vmarquez
02 de Septiembre del 2004
aumenta el tama&o de rollback segmento disminuye los 1000 por unos 300 por ejemplo

N?or
02 de Septiembre del 2004
Aumentar el tamaño de RBS como para tener todo el segmento alocado SÍ ayuda a la performance. Hacer commit más seguido ( cada 300 en vez de cada 1000 ) NO ayuda a la performance.

manic
02 de Septiembre del 2004
Naturalmente los segmentos de rollback tienen mucho q ver, porque es alli donde se guardan esos 1000 registros hasta que hagas commit.

Yo en tu caso revisaria los indices de las tablas que leo, y desactivaria los indices de la tabla en la que inserto. Los indices agilizan consultas, pero retardan las actualizaciones masivas.

Espero que estes haciendo un INSERT INTO tabla SELECT campos FROM tabla2, es mucho mas rapido q un cursor o cualquier cosa