sql >> Databáze >  >> RDS >> Oracle

Jaký je nejrychlejší způsob vložení dat do tabulky Oracle?

Je mnohem lepší vložit několik stovek řádků najednou pomocí tabulek PL/SQL a FORALL pro vazbu do příkazu insert. Podrobnosti naleznete zde .

Buďte také opatrní při vytváření tabulek PL/SQL. Pokud je to jen trochu možné, raději provádějte všechny transformace přímo v SQL pomocí "INSERT INTO t1 SELECT ...", protože provádění operací po řádcích v PL/SQL bude stále pomalejší než SQL.

V obou případech můžete také použít vložení přímé cesty pomocí INSERT /*+APPEND*/ , který v podstatě obchází mezipaměť DB a přímo přiděluje a zapisuje nové bloky do datových souborů. To může také snížit množství protokolování v závislosti na tom, jak jej používáte. To má také určité důsledky, takže si prosím přečtěte dobrý manuál První.

A konečně, pokud ořezáváte a přestavujete tabulku, může být užitečné indexy nejprve vypustit (nebo označit jako nepoužitelné) a později znovu sestavit.



  1. Proč SQL Server používá index scan místo index search, když klauzule WHERE obsahuje parametrizované hodnoty

  2. Zabránit sequelizaci zahodit databázi v aplikaci node.js

  3. Rekurzivní postgres JSONB

  4. Důvody k optimismu ohledně budoucnosti Microsoft Access