PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Różnica między INSERT a COPY

Właściwie z wielu powodów, ale najważniejsze z nich to:

  • Zazwyczaj aplikacje klienckie czekają na potwierdzenie jednego INSERT sukces przed wysłaniem następnego. Tak więc istnieje opóźnienie w obie strony dla każdego INSERT , opóźnienia planowania itp. (PgJDBC obsługuje potok INSERT s w partiach, ale nie znam żadnych innych klientów, którzy to robią).

  • Każda INSERT musi przejść przez całego wykonawcę. Użycie przygotowanej instrukcji omija potrzebę uruchomienia parsera, rewritera i planera, ale nadal istnieje stan executora do skonfigurowania i usunięcia dla każdego wiersza. COPY robi trochę konfiguracji raz i ma niezwykle niski narzut dla każdego wiersza, zwłaszcza gdy nie są zaangażowane żadne wyzwalacze.

Najważniejszy jest pierwszy punkt. Wszystko sprowadza się do połączeń w obie strony i zmiany harmonogramu opóźnień.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Usługa PostgreSQL nie może się zatrzymać/uruchomić/zrestartować

  2. Rejestrowanie powolnych zapytań w instancjach Google Cloud SQL PostgreSQL

  3. Porównanie typów kolumn baz danych w MySQL, PostgreSQL i SQLite? (Mapowanie krzyżowe)

  4. Jak dodać kolumnę, która nie zezwala na wartości null w bazie danych Postgresql?

  5. Znajdź wszystkie mecze danej drużyny w PostgreSQL