Sobes.tech
Junior — Middle

PostgreSQL-də VACUUM əmrinın necə işlədiyini və niyə istifadə olunduğunu izah edə bilərsinizmi?

sobes.tech Süni İntellekt

AI-dan cavab

PostgreSQL-də VACUUM əmri, yeniləmələr və silmə əməliyyatlarından sonra qalan 'ölü' sətirləri təmizləmək üçün istifadə olunur. Bu, yerin boşaldılmasına və cədvəllərin böyüməsinin qarşısını almağa kömək edir.

VACUUM-un əsas vəzifələri:

  • Köhnə versiyadakı sətirləri (ölü tuple-ləri) silmək, beləliklə, onlar yer tutmasınlar.
  • Sorğu planlayıcısı üçün statistikaları yeniləmək (əgər VACUUM ANALYZE istifadə olunursa).
  • Transaksiya ID-nin daşmasını (wraparound) qarşısını almaq.

Düzenli olaraq VACUUM icra edilməzsə, verilənlər bazasının performansı pisləşə bilər və cədvəllərin ölçüsü artar.

SQL-də çağırış nümunəsi:

VACUUM;
VACUUM ANALYZE;

Go-da, bu əmri verilənlər bazası sürücüsü vasitəsilə icra edə bilərsiniz, məsələn:

_, err := db.Exec("VACUUM")
if err != nil {
    log.Fatal(err)
}