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)
}