sql >> Database teknologi >  >> RDS >> PostgreSQL

Forskellen mellem INSERT og COPY

Der er faktisk en del årsager, men de vigtigste er:

  • Typisk venter klientapplikationer på bekræftelse af én INSERT 's succes, før du sender den næste. Så der er en tur-retur-forsinkelse for hver INSERT , planlægningsforsinkelser osv. (PgJDBC understøtter pipelineing INSERT s i batches, men jeg er ikke bekendt med andre klienter, der gør det).

  • Hver INSERT skal igennem hele bobestyreren. Brug af en forberedt erklæring omgår behovet for at køre parseren, genskriveren og planlæggeren, men der er stadig en eksekveringstilstand, der skal opsættes og rives ned for hver række. COPY udfører nogle opsætninger én gang og har en ekstremt lav overhead for hver række, især hvor der ikke er nogen udløsere involveret.

Det første punkt er det vigtigste. Det handler om netværksrejser og omlægning af forsinkelser.



  1. SQL Server BIT Datatype – Ultimativ guide

  2. Sådan får du navn og ledernavn

  3. Grupper, sorter og tæl i en enkelt forespørgsel

  4. SELECT-sætning bruger ikke mulige_nøgler