DBAtlas · Veritabanı operasyon atlası

Boş alanı geri kazan (shrink / vacuum / compact)

Oracle

ALTER TABLE musteri ENABLE ROW MOVEMENT;
ALTER TABLE musteri SHRINK SPACE;

SHRINK high water mark'ı (HWM) düşürür. Index'leri de küçültmek için SHRINK SPACE CASCADE.

PostgreSQL

-- Online, kilit hafif (alanı OS'e vermez):
VACUUM (VERBOSE, ANALYZE) musteri;
-- Alanı OS'e geri ver (tabloyu kilitler!):
-- VACUUM FULL musteri;

VACUUM FULL AccessExclusiveLock alır ve tabloyu yeniden yazar; yoğun saatlerde çalıştırmayın. Alternatif: pg_repack.

MySQL

OPTIMIZE TABLE musteri;

InnoDB'de tabloyu yeniden oluşturur ve data_free alanını geri verir; büyük tablolarda uzun sürer.

SQL Server

-- Genelde ÖNERİLMEZ (parçalanma yaratır). Gerçekten gerekliyse:
DBCC SHRINKFILE (N'MyDB_data', 1024);  -- hedef 1024 MB

Data file küçültme index parçalanmasına yol açar; sonra index'leri REBUILD edin. Log için önce yedek alın.

MongoDB

db.runCommand({ compact: "musteri" })

WiredTiger'da boş alanı işletim sistemine iade etmeye çalışır (her zaman mümkün olmayabilir). 4.4+ sürümlerde okuma/yazmayı engellemez, yalnızca aynı koleksiyondaki bazı DDL işlemlerini bloklar; yoğun IO ürettiği için secondary düğümde ve bakım penceresinde çalıştırmak daha güvenlidir.

Redis

MEMORY PURGE
# jemalloc parçalanmasını OS'e iade etmeye çalışır

activedefrag yes ayarı online otomatik birleştirme yapar; MEMORY DOCTOR öneri verir.

DBAtlas'ta aç →