sql >> Base de Datos >  >> RDS >> Oracle

¿Cuál es la forma más rápida de insertar datos en una tabla de Oracle?

Es mucho mejor insertar unos pocos cientos de filas a la vez, usando tablas PL/SQL y FORALL para enlazar en la declaración de inserción. Para obtener detalles sobre esto, consulte aquí .

También tenga cuidado con la forma en que construye las tablas PL/SQL. Si es posible, prefiera hacer todas sus transformaciones directamente en SQL usando "INSERT INTO t1 SELECT ..." ya que hacer operaciones fila por fila en PL/SQL seguirá siendo más lento que SQL.

En cualquier caso, también puede usar inserciones de ruta directa usando INSERT /*+APPEND*/ , que básicamente pasa por alto la caché de la base de datos y asigna y escribe directamente nuevos bloques en los archivos de datos. Esto también puede reducir la cantidad de registro, dependiendo de cómo lo use. Esto también tiene algunas implicaciones, así que lea bien manual primero.

Finalmente, si está truncando y reconstruyendo la tabla, puede valer la pena eliminar primero (o marcar como inutilizable) y luego reconstruir los índices.