Důvodů je vlastně celá řada, ale ty hlavní jsou:
-
Klientské aplikace obvykle čekají na potvrzení jednoho
INSERTpřed odesláním dalšího. Takže pro každýINSERTexistuje zpoždění , zpoždění plánování atd. (PgJDBC podporuje zřetězeníINSERTs v dávkách, ale nejsem si vědom žádných jiných klientů, kteří to dělají). -
Každý
INSERTmusí 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.COPYprovede 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í.