On Friday 18 July 2003 18:33, Alex 'CAVE' Cernat wrote:
> si ca tot suntem la capitolul flame (dar nu e nici un flame de fapt),
> diferenta intre vacuum si vacuum full consta in faptul ca in cazul
> primeia spatiul pe disk este marcat ca 'available' pentru urmatoarele
> row-uri de inserat/updatat, iar in cazul celei de-a doua baza de date
> este automat 'defragmentat'; din cate banuiesc, in primul caz va merge
> mult mai repede decat in cel de-al doilea

Asa e, in plus vacuum normal merge in paralel cu restul operatiilor pe baza de 
date, pe cand vacuum full are nevoie de niste lockuri exclusive.

> (de obicei nu am folosit decat 
> vacuum full pana acuma, poate nu s-ar fi meritat); intrebarea care se
> pune este cat de bine realoca postgresul spatiul pentru urmatoarele
> row-uri (sorry, de fapt intrebarea era cat de bine rezista postgresul la
> fragmentarea bazei de date - ma refer la spatiile 'goale' care apar
> datorita insert/update/delete/vacuum_normal etc)
>
> stiu ca am facut o data un test pe mysql cu vreo 3 milioane de
> inregistrari si m-am apucat sa sterg din 2 in 2, din 3 in 3 samd si dupa
> aia insert; timpul de inserare a crescut de vreo 3 ori spre exemplu

Cat de bine se descurca postgresul in cazul asta (delete + vacuum normal) ar 
merita benchmark-uit, dar gandeste-te ca modul de operare normal al 
mysql-ului e echivalent (in termeni postgres) cu cate un vacuum normal dupa 
fiecare stergere (fara operatia de vacuum in sine, pur si simplu se marcheaza 
direct spatiul respectiv ca fiind disponibil). Echivalentul mysql al lui 
vacuum full se numeste optimize table (daca-mi aduc bine aminte), incearca-l 
pe tabela aia si sa vezi ce bine se comporta dupa :)

> ps: e clar ca din cand in cand trebe neaparat un vacuum full (eventual
> si cu un analyse, daca mai e ceva prin baza de date)

Nu prea are sens sa dai vacuum (normal sau full) fara analyze, oricum trebuie 
sa citeasca toata tabela (si indecsii) de pe disc, asa ca diferenta cu/fara 
analyze e foarte mica. In plus, analyze frecvent ajuta enorm la performante 
daca se fac multe modificari in baza de date.


Petru

Raspunde prin e-mail lui