sql >> Databasteknik >  >> RDS >> PostgreSQL

Prestandaproblem med PostgreSQL/JooQ massinsättning vid laddning från CSV; hur förbättrar jag processen?

Det snabbaste sättet att göra massinfogning från en CSV-fil till PostgreSQL är med Kopiera . Kommandot COPY är optimerat för att infoga ett stort antal rader.

Med Java kan du använda Kopieringsimplementeringen för PostgreSQL JDBC-drivrutinen

Det finns ett fint litet exempel på hur man använder det här:hur man kopierar en data från fil till PostgreSQL med JDBC?

Om du har en CSV med rubriker skulle du vilja köra ett kommando som liknar detta:

\COPY mytable FROM '/tmp/mydata.csv' DELIMITER ';' CSV HEADER

En annan prestandahöjning när du lägger till stora mängder data i en befintlig tabell är att släppa indexen, infoga data och sedan återskapa indexen.



  1. Beräkna Max av summan av ett kommenterat fält över en grupperad efter fråga i Django ORM?

  2. Så här ser du hela frågan från VISA PROCESSLISTA

  3. Hur man omvandlar resultaten av en SQL-fråga till en HTML-tabell med specifikt format

  4. Hur man utesluter poster med vissa värden i sql select