Skip site navigation (1) Skip section navigation (2)

Re: table temporaire ou raz

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 (view raw or flat)
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

In response to

Responses

pgsql-fr-generale by date

Next:From: Stéphane BunelDate: 2008-07-14 21:54:44
Subject: Question de dates
Previous:From: William DodeDate: 2008-07-14 09:00:45
Subject: Re: table temporaire ou raz

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group