Senior
Mit csinál a VACUUM a PostgreSQL-ben, és miért jelennek meg halott sorok?
sobes.tech MI
Válasz az MI-től
A PostgreSQL-ben, amikor sorokat frissít vagy töröl, a régi verziók nem törlődnek azonnal, hanem "halott tuple-ként" (dead tuples) válnak ismertté. Ez az MVCC-vel (Multi-Version Concurrency Control) kapcsolatos, amely biztosítja a tranzakciók izolációját. A halott tuple-k helyet foglalnak, és lassíthatják az adatbázis működését.
A VACUUM parancs ezeket a halott tuple-kat tisztítja, felszabadítva a helyet, és megakadályozva a táblák és indexek növekedését. Van egy normál VACUUM, amely egyszerűen megjelöli a területet szabadként, és egy VACUUM FULL, amely tovább tömöríti a táblát, csökkentve annak fizikai méretét.
Példa:
VACUUM saját_táblám;
Így a VACUUM fenntartja a teljesítményt, és megakadályozza a túlzott lemezterület-használatot.