Rapor oluşturmak amacıyla normalize edilmiş bir db yapısını geçici bir tablo haline getiren bazı mühendislerimiz var. Sütunlar TEXT NOT NULL
("neden bunu yaptıklarını biliyorum" olarak belirtildi ; sadece bunu ele aldığımızı varsayalım).
Linux'ta InnoDB eklentisi 1.0.9 ile MySQL 5.1.48 Community RHEL5 kullanıyoruz.
MyISAM kullanırken, maksimum sütun veya maksimum satır uzunluğunun tablo boyutu sınırlarıyla hiç karşılaşmadık (araştırma sırasında 2598'de maksimum sütun sınırına ulaştık (2599. hata 1117'ye neden oluyor) InnoDB ile sınırlara ulaşıyoruz.Bu sınırlar, tablo (veri ekleme yok):
Satır 1'deki HATA 1118 (42000): Satır boyutu çok büyük. BLOB'ları saymayan, kullanılan tablo türü için maksimum satır boyutu 8126'dır. Bazı sütunları METİN veya BLOB'lar olarak değiştirmeniz gerekir.
Aşağıdakilere cevap arıyorum:
V / v / b / t sütunlarının lotlarını kullanırken satır boyutu parçacıklarını belirlemek için ayrıntılı formül nedir? Ben
varchar(N)
sütunları kullanarak birkaç farklı formülü denedim (burada N 1 ve 512 arasındadır), UTF8 karakter kümesi (* 3) ve tablo başarısızlığa kadar alacak kadar çok sütun. Denediğim kombinasyonların hiçbiri gerçek test sonuçlarıyla eşleşen değerler vermiyor.Satır boyutunu hesaplarken başka hangi 'ek yükü' düşünmeliyim?
Varchar (109) sütunları olan tablolar oluşturmaktan varchar (110) sütunlarına gitmem neden hata iletisi 8126'dan 65535'e değişiyor?