sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur man importerar stor XML-fil (~10GB) till PostgreSQL

  1. Konvertera XML-fil till CSV-fil. Vid konvertering kan du också dela upp den till 100 Mb-1 Gb delar för enklare batchning.

  2. Skapa tabellen med kolumner som du definierade i CSV-filen.

  3. Ladda upp filen/filerna till Postgres med COPY kommando.Det är det snabbaste sättet att ladda upp en stor mängd data jag vet. BTW, det kan också göras från Java, med CopyManager klass.

Beroende på vilken typ av frågor du kommer att utföra, kommer du att vilja skapa index:

  1. Det kommer att vara den mest tidskrävande delen. Du kan dock använda SKAPA INDEX SAMTIDIGT . Det låter dig arbeta med din tabell medan indexet skapas i bakgrunden.

  2. Om du upprepar importprocessen och redan har skapat tabellen och indexen, släpp indexen innan du utfärdar kommandot COPY och återskapa dem senare. Det kommer att spara mycket tid.

  3. Om du fortfarande är missnöjd med hastigheten på dina frågor eller hastigheten på att skapa index, kanske det är en bra idé att använda Clickhouse istället. Det beror dock på vilken typ av frågor du utför.




  1. skriv om anslutning och fråga från mysql till PDO

  2. Flera men ömsesidigt uteslutande främmande nycklar - är det här vägen att gå?

  3. Är korstabellindexering möjlig?

  4. PHP-frågan ger inga resultat