From: | Guillaume Lelarge <guillaume(at)lelarge(dot)info> |
---|---|
To: | William Dode <wilk(at)flibuste(dot)net> |
Cc: | pgsql-fr-generale(at)postgresql(dot)org |
Subject: | Re: table temporaire ou raz |
Date: | 2008-07-14 09:28:08 |
Message-ID: | 487B1C28.3050808@lelarge.info |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-fr-generale |
William Dode a écrit :
> On 13-07-2008, Guillaume Lelarge wrote:
>>[...]
>> William Dode a écrit :
>>> Pour faciliter les éditions j'utilise des tables intermédiaires, je me
>>> demande toujours s'il vaut mieux remettre à zéro une table existante ou
>>> la recréer à chaque fois en TEMP ?
>>> Sachant que plusieurs personnes vont peut-être demander une édition en
>>> même temps et donc que ça se déroule systématiquement dans une
>>> transaction.
>>>
>>> A priori j'imagine qu'il vaudrait mieux utiliser une table temporaire
>>> (qu'elles sont faites pour ça), mais je ne le fait pas systématiquement
>>> car ça rend plus difficile le debugage.
>>>
>>> Des avis ?
>>>
>> Une table temporaire a une bonne chance de ne se trouver qu'en mémoire,
>> surtout avec un temp_buffers bien configuré. Une "vraie" table sera
>> systématiquement sur disque. Donc, pour des raisons de performances,
>> j'aurais tendance à privilégier la création de tables temporaires.
>> Surtout dans votre cas où vous serez dans une seule et même transaction.
>
> Je viens de vérifier et effectivement le gain est intéressant. Par
> contre je ne sais pas comment optimiser le temp_buffers. Dans quel cas
> faut-il que je change la valeur par défaut ?
>
Ça dépend principalement de la taille des objets temporaires et du
nombre de sessions qui pourront, en parallèle, créer ces objets. À
priori, pendant la période de debug, vous allez utiliser des objets sur
disque. Profitez-en pour surveiller la taille des objets qui seront
temporaires par la suite (avec pg_total_relation_size). Vous aurez ainsi
une meilleure idée de la configuration nécessaire ensuite.
>> Je comprends bien le soucis que cela pose pour le débuggage. Néanmoins,
>> les avantages (en terme de performance, donc pour les utilisateurs)
>> dépassent de loin les inconvénients (en terme de facilité, pour les
>> développeurs).
>
> Je vais m'y prendre en deux fois alors, passer en temporaire lorsque
> l'appli sera stabilisée.
>
Ça me semble le mieux, en effet.
--
Guillaume.
http://www.postgresqlfr.org
http://dalibo.com
From | Date | Subject | |
---|---|---|---|
Next Message | Stéphane Bunel | 2008-07-14 21:54:44 | Question de dates |
Previous Message | William Dode | 2008-07-14 09:00:45 | Re: table temporaire ou raz |