Müzakirə

MySQL Optimize Table Scripti

Başladan Byte · 26 iyl 2026 11:15 · 1 Baxış · 0 Cavablar
Mövzunu Açan #0
MySQL veritabanı yönetim sistemlerinde, zamanla tablo boyutları artar ve performans düşebilir. Bu durum, özellikle büyük veri setleriyle çalışan uygulamalarda önemli bir sorun teşkil edebilir. MySQL'de tablo optimizasyonu, veritabanı performansını artırmak için kritik bir adımdır. Bu yazıda, MySQL'de tablo optimizasyonunu gerçekleştirmek için kullanılabilecek bir script örneği sunacağım.

Öncelikle, OPTIMIZE TABLE komutunun nasıl çalıştığını anlamak önemlidir. Bu komut, belirtilen tablodaki kullanılmayan alanları serbest bırakır ve veri dosyalarını yeniden düzenler. Bunun sonucunda, okuma ve yazma işlemlerinin performansı artar.

Aşağıda, belirli bir veritabanı içindeki tüm tabloları optimize eden bir MySQL scripti bulunmaktadır:

CODE
1234567891011121314151617181920212223242526272829303132 
DELIMITER $$

CREATE PROCEDURE OptimizeAllTables()
BEGIN
    DECLARE done INT DEFAULT FALSE;
    DECLARE tableName VARCHAR(255);
    DECLARE cur CURSOR FOR 
        SELECT table_name 
        FROM information_schema.tables 
        WHERE table_schema = 'veritabani_adi'; -- Burada veritabanı adınızı yazmalısınız.

    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;

    OPEN cur;

    read_loop: LOOP
        FETCH cur INTO tableName;
        IF done THEN
            LEAVE read_loop;
        END IF;

        SET @s = CONCAT('OPTIMIZE TABLE ', tableName);
        PREPARE stmt FROM @s;
        EXECUTE stmt;
        DEALLOCATE PREPARE stmt;
    END LOOP;

    CLOSE cur;
END$$

DELIMITER ; 


Bu script, belirtilen veritabanındaki tüm tabloları döngüsel olarak optimize eder. information_schema.tables kullanarak veritabanındaki tablo isimlerini çeker ve her bir tablo için OPTIMIZE TABLE komutunu yürütür. Scripti çalıştırmadan önce, veritabani_adi kısmını kendi veritabanı adınızla değiştirmeniz gerektiğini unutmayın.

Veritabanı optimizasyonu, düzenli olarak yapılması gereken bir işlemdir. Özellikle büyük veri tabanlarına sahip projelerde, bu tür scriptlerin kullanımı, performansı artırmak açısından büyük önem taşır. Veritabanlarınızın sağlığını korumak için bu tür basit ama etkili yöntemleri uygulamak, uzun vadede büyük yarar sağlayacaktır.

Cavab vermək üçün daxil olmalısınız.

0 sitat seçildi