PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 Re : Général » update d'un champs vide ->la taille de la table a doublé » 06/12/2010 12:19:32

Bonjour,
Encore une question..
Est il possible d'éviter la "duplication" de la ligne  avec une option dans  le update( j'ai regardé la doc rien trouvé..)
Ou est ce que c'est inévitable?
PS :le alter column a bien fonctionné .... ca m'a sauvé

#3 Re : Général » update d'un champs vide ->la taille de la table a doublé » 01/12/2010 12:04:31

Encore une dernière question.
il vaut mieux faire un cluster ou  ou une modification de type d'une colonne?
Nous n'avons pas trop le choix car il nous faut récuperer de la place ...

#4 Re : Général » update d'un champs vide ->la taille de la table a doublé » 01/12/2010 11:21:20

est ce que un cluster ne va pas libérer la place "réutilisable" ?
je vais poser le problème pour le FSM
pour le verbose pour l'instant je peux pas le faire.
Merci pour vos réponses

#5 Re : Général » update d'un champs vide ->la taille de la table a doublé » 01/12/2010 10:29:33

Bonjour,
il y a un vaccum analyse qui est planifié chaque nuit.
Le vacuum devrait résoudre le problème? comment faire pour que ces deux versions ne soient plus qu'une??
ce matin en tout cas aucun changement dans nos tables.
et Comment faire pour que les colonnes soient réellement supprimés?
la version de postgresql est 8.3.8
Merci en tout cas pour ces précieuses informations..
Bonne journée

#6 Général » update d'un champs vide ->la taille de la table a doublé » 30/11/2010 23:49:06

kris2001fr
Réponses : 10

Bonjour,
Voici mon problème j'ai une base de données avec une 50aine de table
dans ces tables j'en ai 24 qui sont identiques ou l'on dispatche des logs de sessions provenant de différents serveurs.
ces tables ont entre 700000 et 2000000 d'enregistrement.
j
Pour optimiser mes tables et mes requêtes j'ai rajouté 2 champs d'entier dans chacune des 24 tables
dans ma table actuellement j'ai deux champs texte qui me permettent de faire la jointure avec d'autre table.
Donc l'idée est de créer des clés etrangères d'entier pour optimiser les requetes.

donc pour mon update
j'ai une requete du type
udpate <table> a set champ_id_etranger_int=(select champ_id from <table2> b where a.champ_texte=b.champ_text) where champ_id_etranger_int is null and....

j'ai fait un test sur la prod sur une seule table.... aucun souci

pour pouvoir parcourir mes 24 tables je met donc en place une procédure stockée qui va updater tous mes champs dans chaque table

Le problème est que la taille de mes tables ont doublé.
je suis passée d'une base de 25 Go (environ ) a plus de 50 Go

il n 'y a pas de doublons
j'ai tenté sur une des tables de dropper mes nouvelles colonnes .... aucun changement dans la taille de ma table.


est ce la procédure stockée qui aurait pu avoir cette impact avec une sorte de cache ??

Merci d'avance à celui ou celle qui pourra m'éclairer car la c'est un mystère....

Pied de page des forums

Propulsé par FluxBB