From: | Guillaume LELARGE <gleu(at)wanadoo(dot)fr> |
---|---|
To: | pgsql-fr-generale(at)postgresql(dot)org, chetzacoalt(at)free(dot)fr |
Subject: | Re: un delete ou plusieurs ? |
Date: | 2005-08-21 06:27:46 |
Message-ID: | 200508210827.46717.gleu@wanadoo.fr |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-fr-generale |
Le Vendredi 12 Août 2005 13:47, santiago a écrit :
> que vaut-il mieux faire pour aleger la tache a postgres :
> un delete avec un gros OR dans la clause where
> ou plusieurs delete (un par OR)
>
Toujours miniser le nombre de requêtes : donc un seul delete.
> je pense que le premier cas ca ne fait qu'un seul passage dans la base.
> mais est-ce qu'il risque d'y avoir un effet de bord (du style, en
> faisant plusieurs petit del, ca permettrait a d'autres requetes
> concurentes de passer entre temps)
>
Si tu préfères lancer plusieurs delete mais que tu crains le coup des requêtes
concurrentes, utilise une transaction :
BEGIN;
DELETE...;
DELETE...;
DELETE...;
...
COMMIT;
Dans ce cas, tous les delete auront lieu en même temps et personne ne pourra
voir les états intermédiaires (voir notamment
http://traduc.postgresqlfr.org/pgsql-8.0.3-fr/tutorial-transactions.html et
http://traduc.postgresqlfr.org/pgsql-8.0.3-fr/transaction-iso.html).
> si vous avez des idees, merci d'avance
>
Voilà, voilà... mais ceci n'est que mon avis perso.
--
Guillaume.
<!-- http://abs.traduc.org/
http://lfs.traduc.org/
http://traduc.postgresqlfr.org/ -->
From | Date | Subject | |
---|---|---|---|
Next Message | Guillaume LELARGE | 2005-08-21 06:40:53 | Re: update avec un where = false |
Previous Message | Sébastien BROCHET | 2005-08-19 14:45:59 | autodoc |