Sobes.tech
Junior — Middle

PostgreSQL'da VACUUM komandasi qanday ishlashini va nima uchun ishlatilishini tushuntirib berishingiz mumkinmi?

sobes.tech AI

AIdan javob

PostgreSQL'da VACUUM komandası, yenilash va o'chirish operatsiyalaridan keyin qolgan 'o'lik' satrlarni tozalash uchun ishlatiladi. Bu joyni bo'shatishga va jadvallar kengayishini oldini olishga yordam beradi.

VACUUM ning asosiy vazifalari:

  • Eski versiyadagi satrlarni (o'lik tupplar) o'chirish, shunda ular joy egallamaydi.
  • So'rov rejalashtiruvchisi uchun statistikalarni yangilash (agar VACUUM ANALYZE ishlatilsa).
  • Transaktsiya ID ning to'liq aylanishini (wraparound) oldini olish.

Doimiy ravishda VACUUMni bajarishsiz, ma'lumotlar bazasining ishlash tezligi yomonlashishi va jadvallar hajmi oshishi mumkin.

SQLda chaqirish misoli:

VACUUM;
VACUUM ANALYZE;

Go'da, bu buyruqni ma'lumotlar bazasi drayveri orqali bajarish mumkin, masalan:

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