sql >> Databasteknik >  >> RDS >> Mysql

MySQL Large Table Import

En del av problemet med att ha en så enorm export beror (förmodligen) på uppsägningarna i den. Det finns förmodligen tusentals "INSERT"-kommandon som när de laddas på en gång tar upp en stor del av minnet.

Om du har exakt samma data som en CSV, vad jag skulle göra är att skapa ett litet PHP-skript för att gå rad för rad genom CSV-filen och skapa en INSERT sql-fråga dynamiskt och sedan köra den. Detta bör hålla minnesfotavtrycket mycket lågt eftersom du kan fortsätta att ersätta värdena för dina temporära variabler (motsvarande fälten) efter varje infogning.

Jag har länkat till funktionen som jag skulle försöka använda. Det heter fgetcsv. Den länken har också några exempelskript som jag tror kan vara till nytta för dig som skapats av andra användare.

Lycka till!

fgetcsv PHP-funktion att använda för rad-för-rad-läsning



  1. mysql där exakt matchning

  2. Byta från MySQL till PostgreSQL - tips, tricks och gotchas?

  3. MySQL SELECT LAST_INSERT_ID() för sammansatt nyckel. Är det möjligt?

  4. InMemory DUBLIKAT Förvirring i Oracle RAC