MySQL AUTO_INCREMENT Kolonlarında Taşma Riski
Auto-increment kolonlarının veri tipi sınırına yüzde kaç yaklaştığını hesaplar. Sınıra ulaşıldığında yazmalar duracağı için erken uyarı sağlar.
SELECT table_schema, table_name, column_name, column_type, auto_increment,
max_val, ROUND(100 * auto_increment / max_val, 2) AS pct_used
FROM (
SELECT t.table_schema, t.table_name, c.column_name, c.column_type, t.auto_increment,
CASE
WHEN c.column_type LIKE 'tinyint%unsigned' THEN 255
WHEN c.column_type LIKE 'tinyint%' THEN 127
WHEN c.column_type LIKE 'smallint%unsigned' THEN 65535
WHEN c.column_type LIKE 'smallint%' THEN 32767
WHEN c.column_type LIKE 'mediumint%unsigned' THEN 16777215
WHEN c.column_type LIKE 'mediumint%' THEN 8388607
WHEN c.column_type LIKE 'int%unsigned' THEN 4294967295
WHEN c.column_type LIKE 'int%' THEN 2147483647
WHEN c.column_type LIKE 'bigint%unsigned' THEN 18446744073709551615
ELSE 9223372036854775807
END AS max_val
FROM information_schema.tables t
JOIN information_schema.columns c
ON c.table_schema = t.table_schema AND c.table_name = t.table_name AND c.extra LIKE '%auto_increment%'
WHERE t.auto_increment IS NOT NULL
AND t.table_schema NOT IN ('mysql','sys','information_schema','performance_schema')
) x
ORDER BY pct_used DESC
LIMIT 20;Üretim ortamında çalıştırmadan önce test ortamında doğrulayın. Salt okunur teşhis sorgusudur; sistem kilitlerine yol açmaz.
- Bu script salt okunur (read-only) teşhis için tasarlanmıştır; doğrudan veri veya şema değişikliği yapmaz.
- Ağır yük altındaki üretim sunucularında çalıştırmadan önce hedef veritabanı sürümünü (Min. Sürüm: 5.7) doğrulayın.
- İlişkili oturumu sonlandırma veya indeks silme gibi yazma etkili aksiyonlar için notlar bölümündeki komutları temkinli uygulayın.
Diğer MYSQL Teşhis Scriptleri
Tümünü Gör (100)MySQL'de Uzun Süren Sorguları Bulma
Processlist üzerinden 60 saniyeden uzun süren aktif sorguları listeler. Yavaşlama ve kilitlenme olaylarında hızlı teşhis sağlar.
MySQL InnoDB Kilit Beklemelerini ve Bloklayan Sorguyu Bulma
sys şeması ile bekleyen ve bloklayan oturumları, kilit modlarıyla birlikte gösterir. Hangi işlemin hangisini beklettiğini tek sorguda çözer.
MySQL'de En Büyük Tabloları ve Disk Kullanımını Listeleme
Veri, indeks ve boş alan boyutlarını tablo bazında sıralar. Kapasite planlaması ve arşivleme kararları için temel veridir.
MySQL Kullanılmayan İndeksleri Tespit Etme
sys.schema_unused_indexes ile hiç kullanılmamış indeksleri listeler. Yazma performansını düşüren gereksiz indeksleri güvenle temizlemeye yardımcı olur.