[OSM-dev-fr] "glonflement" des tables osm2pgsql...
Christian Quest
cquest at openstreetmap.fr
Mar 12 Aou 21:28:30 UTC 2014
Le 12 août 2014 22:09, Christophe Merlet <redfox at redfoxcenter.org> a écrit :
> Le 12/08/2014 21:38, Christian Quest a écrit :
> > Le 12 août 2014 21:07, Christophe Merlet <redfox at redfoxcenter.org
> > <mailto:redfox at redfoxcenter.org>> a écrit :
> >
> > Le 12/08/2014 20:44, Christian Quest a écrit :
> > > Ah bon, postgres n'essaye pas de faire un update "sur place" quand
> > c'est
> > > possible ?
> >
> > Non. UPDATE étant une opération de type DELETE/INSERT (
> > http://postgresql.todaysummary.com/q_postgresql_32709.html )
> >
> >
> > Marrant je n'ai pas la même lecture que toi... je ne vois pas de
> > référence au DELETE dans ces explications, juste une proposition pour
> > faire l'équivalent du REPLACE de mysql qui fait soit un INSERT soit un
> > UPDATE si la ligne existe déjà.
>
>
> Ho zut, je me suis trompé de lien oO rien à voir !!
> C'est celui là
>
> http://www.postgresql.org/message-id/482E80323A35A54498B8B70FF2B879800458C31048@azsmsx504.amr.corp.intel.com
>
>
Mouais... un peu courte l'explication.
UPDATE est équivalent à DELETE+INSERT vu d'en haut, mais vu d'en bas ça
m'étonnerai beaucoup que ça soit géré comme ça... show me the code ;)
C'est comme ça que je comprend la doc
> http://www.postgresql.org/docs/current/static/sql-vacuum.html
>
> "VACUUM reclaims storage occupied by dead tuples. In normal PostgreSQL
> operation, tuples that are deleted or obsoleted by an update are not
> physically removed from their table; they remain present until a VACUUM
> is done. Therefore it's necessary to do VACUUM periodically, especially
> on frequently-updated tables."
Ok, un DELETE ou UPDATE peuvent laisser des trous, VACCUM les élimine.
Pour ça VACUUM va prendre des data en fin de fichier et les déplacer dans
les trous au fur et à mesure de son scan en remettant à jour les index vu
le déplacement des données. C'est ce que j'ai lu je ne sais plus où :(
VACUUM FULL procède autrement, il crée une copie de la table en recopiant
les tuples un à un sans recopier les trous.
--
Christian Quest - OpenStreetMap France
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://lists.openstreetmap.org/pipermail/dev-fr/attachments/20140812/23b85cf8/attachment.html>
Plus d'informations sur la liste de diffusion dev-fr