Oracle
 sql >> база данни >  >> RDS >> Oracle

Кой е най-бързият начин за вмъкване на данни в таблица на Oracle?

Много по-добре е да вмъкнете няколкостотин реда наведнъж, като използвате PL/SQL таблици и FORALL за обвързване в израза за вмъкване. За подробности относно това вижте тук .

Също така внимавайте с това как конструирате PL/SQL таблиците. Ако изобщо е възможно, предпочитайте вместо това да правите всичките си трансформации директно в SQL, като използвате "INSERT INTO t1 SELECT ...", тъй като извършването на операции ред по ред в PL/SQL пак ще бъде по-бавно от SQL.

И в двата случая можете също да използвате вмъквания по директен път, като използвате INSERT /*+APPEND*/ , който основно заобикаля кеша на DB и директно разпределя и записва нови блокове във файлове с данни. Това също може да намали обема на регистриране, в зависимост от това как го използвате. Това също има някои последици, така че, моля, прочетете фино ръководство първи.

И накрая, ако отрязвате и изграждате отново таблицата, може да си струва първо да премахнете (или да маркирате неизползваеми) и по-късно да изградите отново индексите.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle разпределени бази данни и MSVC

  2. Генериране на SQL схема от XML

  3. Присъединете/завъртете елементи с EAV таблица

  4. Параметри на JDBC CallableStatement и Oracle SYS_REFCURSOR IN?

  5. SQL заявка за извличане на ИД на поръчка, ИД на транзакция, състояние въз основа на състоянието на транзакцията, което е Char