viernes, 22 de julio de 2016

Aumentar la velocidad de la instrucción DELETE para Oracle

El uso de hints puede ayudarte a aumentar la velocidad de una instrucción. El hint PARALLEL no fuerza la ejecución en paralelo, pero puede modificar el grado de parallelismo de una tabla para que ORACLE use este coste aproximado.


  • Si el tiempo de tardanza se produce durante la búsqueda de candidatos a borrar, entonces puedes usar los siguientes hints para ayudar a agilizar:

Para Full Table Scan

delete /*+ parallel(a,4) full(a) */
from cam_tab_meta a
where db_name like 'cam01'

Para Index Fast Full Scan

delete /*+ parallel_index(a,4) index_ffs(a) */
from cam_tab_meta a
where db_name like 'cam01'


  • Si el tiempo de tardanza pasa en la etapa de eliminar filas, entonces se puede utilizar DML paralelo que se encuentra desactivado por defecto, por lo que se debe primero activar dml:

Enable Parallel dml

alter session enable parallel dml;

delete /*+ parallel(a,4) full(a) */
  from cam_tab_meta a
 where db_name like 'cam01'