sql >> Databáze >  >> RDS >> PostgreSQL

Rozdíl mezi INSERT a COPY

Důvodů je vlastně celá řada, ale ty hlavní jsou:

  • Klientské aplikace obvykle čekají na potvrzení jednoho INSERT před odesláním dalšího. Takže pro každý INSERT existuje zpoždění , zpoždění plánování atd. (PgJDBC podporuje zřetězení INSERT s v dávkách, ale nejsem si vědom žádných jiných klientů, kteří to dělají).

  • Každý INSERT musí projít celým exekutorem. Použití připraveného příkazu obchází potřebu spouštět analyzátor, přepisovač a plánovač, ale stále existuje stav exekutora, který lze nastavit a odstranit pro každý řádek. COPY provede nějaké nastavení jednou a má extrémně nízká režie pro každý řádek, zejména tam, kde nejsou zapojeny žádné spouštěče.

První bod je nejvýznamnější. Je to všechno o zpátečních cestách sítě a přeplánování zpoždění.



  1. Bezpečný, přizpůsobitelný, open-source chatovací engine na PHP/JavaScript pro všechny oblíbené prohlížeče

  2. Příklady DATEDIFF() v SQL Server

  3. Mohu aktualizovat/vybrat z tabulky v jednom dotazu?

  4. IDE pro vývoj Pl/SQL