sql >> Databasteknik >  >> RDS >> Oracle

Snabbare sätt att ladda en enorm datalagertabell

APPEND är gjord exakt för detta ändamål. Mängden slösat utrymme beror på omfattningens storlek. Varje INSERT skapar en utsträckning per parallell process, fyller den och skapar ny om det behövs. Så med vanliga inställningar, med 8 MB omfattning i partitionerad tabell och du infogar cirka 4 GB (62 GB / (1200M / 80M) poster) kommer det genomsnittliga avfallet att vara 4 MB * parallellgrad vilket jag skulle säga är anständigt. INSERT /*+ APPEND PARALLEL */ kan vara supersnabb - flera miljoner rader per sekund (och Gigabyte per sekund) på anständig hårdvara. Det beror mest på antalet index eftersom deras underhåll är den mest tid att ta del av.

Det större problemet är DELETE-delen. Du bör fundera på om och hur den kan omvandlas till DDL-partitionsoperation (CTAS och EXCHANGE PARTITION, etc.)



  1. MySQL långsam fråga med hjälp av filsortering

  2. Hur CHARACTER_LENGTH()-funktionen fungerar i MySQL

  3. Fjärrstyrd MySql-anslutning från annan server

  4. Oracle SQL-sats utvärderingsordning