PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Différence entre INSERER et COPIER

Un certain nombre de raisons, en fait, mais les principales sont :

  • Généralement, les applications clientes attendent la confirmation d'un INSERT avant d'envoyer le suivant. Il y a donc un délai aller-retour pour chaque INSERT , retards de planification, etc. (PgJDBC prend en charge le pipeline INSERT s par lots, mais je ne connais aucun autre client qui le fasse).

  • Chaque INSERT doit passer par tout l'exécuteur testamentaire. L'utilisation d'une instruction préparée évite la nécessité d'exécuter l'analyseur, le réécrivain et le planificateur, mais il reste un état d'exécuteur à configurer et à supprimer pour chaque ligne. COPY fait une configuration une fois, et a un extrêmement faible surcharge pour chaque ligne, en particulier lorsqu'aucun déclencheur n'est impliqué.

Le premier point est le plus significatif. Il s'agit d'allers-retours sur le réseau et de retards de reprogrammation.