Re: [Fwd: Quel est le codage le plus efficace]

From: Marc Cousin <mcousin(at)sigma(dot)fr>
To: pgsql-fr-generale(at)postgresql(dot)org
Subject: Re: [Fwd: Quel est le codage le plus efficace]
Date: 2008-11-25 16:07:21
Message-ID: 200811251707.21275.mcousin@sigma.fr
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Le Tuesday 25 November 2008 14:08:07 Pascal Brognez, vous avez écrit :
> > Bonjour
>
> Bonjour,
>
> Je reformule ma question.
>
> Un insert qui se termine en erreur si non respect de la contrainte
> d'unicité de clé ou qui réussi. Est il un codage plus efficace en terme
> de rapidité et de consommation de ressource qu'un test d'existence suivi
> d'un Insert si la donnée à insérer n'est pas déjà présente.
> (C'est une notion voisine de la programmation par exception.)
>
> (Je précise que les deux codages produisent le résulta attendu.)
>

Dans la plupart des cas il vaut mieux opter pour un codage agressif : partir
de l'hypothèse que l'opération va réussir, et intercepter l'erreur si elle se
produit. Cela fait moins de requêtes à la base, ce qui est habituellement le
plus coûteux.

Evidemment, pour cela, il faut que le SGBD puisse déclencher des erreurs (donc
qu'il gère correctement les contraintes et qu'elles soient en place).

Au passage, si c'est pour faire beaucoup d'INSERT de ce genre, une requête
préparée permet d'aller un peu plus vite. Voire pour le mieux, un COPY dans
une table temporaire, puis une insertion avec une jointure...

In response to

Responses

Browse pgsql-fr-generale by date

  From Date Subject
Next Message c.maumont 2008-11-25 16:15:52 RE: [pgsql-fr-generale] Quelle est la méthode la plus efficace ?
Previous Message François Figarola 2008-11-25 14:14:03 Re: [Fwd: Quel est le codage le plus efficace]