Benim soruma göre ufaklık & tinytext arasında gerçekten bir fark var mı?varchar (255) v tinyblob v tinytext
Gerçek sorumu satın al, eğer var mıyım, var mıyım (255) üzerinde tinyblob veya tinytext?
Benim soruma göre ufaklık & tinytext arasında gerçekten bir fark var mı?varchar (255) v tinyblob v tinytext
Gerçek sorumu satın al, eğer var mıyım, var mıyım (255) üzerinde tinyblob veya tinytext?
öncelikle storage requirements ve hafıza kullanımı/hızı: Aşağıdaki tabloda
,
M
ikili dizi tipleri için nonbinary dize türleri ve bayt karakter bildirilen kolon uzunluğu temsil eder.L
, belirli bir dize değerinin bayt cinsinden gerçek uzunluğunu temsil eder.VARCHAR (
M
), VARBINARY (M
):
L
+ 1 bayt sütun değerleri 0 gerektiriyorsa - 255 bayt, değerler fazla 255 baytıgerektirebilir
MySQL 4 satırlar için bellek ayırır, kullanım sırasında her bir tablo için
L
+ 2 bayt halinde TINYBLOB, TINYTEXT:
L
+ 1 bayt,L
:
Ayrıca, this yayınına bakın. Bu satırlarının her biri için CHAR (X)/VARCHAR (X) sütunu X karakterlerini alır. Öte yandan
bir Metin/kabarcık bir 8 bayt işaretçi + bir 1-4 bayt uzunluğunda ( kabarcık/METİN türüne bağlı olarak) ile temsil edilen olup. BLOB/TEXT, kullanımda dinamik olarak ayrılmış 'dur. Bu daha az bellek kullanır, ancak bazı durumlarda uzun çalışmasında belleğinizi parçalayabilir.
Düzenleme: Bir kenara, lekeler ikili veri ve metin depolar ASCII saklamak üzere, TINYBLOB ve TINYTEXT arasındaki tek fark bu.
VARCHAR (255), tinyblob veya tinytext'ten daha fazla SQL standardıdır. Böylece komut dosyanız ve uygulama veritabanı satıcıları arasında daha taşınabilir olacaktı.
Sen TINYTEXT için KARAKTER SET geçerli değildir, ancak VARCHAR (255)
O VARCHAR ve (mySQL) TINYTEXT hem ayarlı doğru değil, sen uygulayabilirsiniz karakter ama TINYBLOB için değil çevrilevilebilecekleri. –