09 / 08 / 2009
hangisi daha büyük ? int(7) mi ? int(8) mi ?
Geçenlerde bir arkadaşımın veritabanını incelerken her tablo alanına bu değerleri verdiğini gördüm. neden bu kadar uğraştığını sorduğumda ise performans için cevabını aldım..
int(7) ile int(8) arasındaki fark nedir ?
tinyint(1) ile tinyint(2) arasında hiç bir fark yoktur. int(5) ile int(6) arasındada hiç bir fark yoktur yani sanmayınki tinyint(1) 15 değerini almaz. bal gibide alır.
peki biz neden bunları kullanıyoruz hiç bir nedeni yok bunlar sadece bilgi verme amaçlıdır.
unutmadan söylemek lazım eğer alana ZEROFILL ozelliği eklemişseniz o zaman işinize yarayabilir. alan tipinizin int(5) ve ZEROFILL olduğunu düşüneliM 4 versinin eklediğinizde 00004 olarak gözükecektr.
aşağıdada mysql konuyu ozetlemiş.
The display width does not constrain the range of values that can be stored in the column, nor the number of digits that are displayed for values having a width exceeding that specified for the column. For example, a column specified as SMALLINT(3) has the usual SMALLINT range of -32768 to 32767, and values outside the range allowed by three characters are displayed using more than three characters.
peki tinyint kullanmak ile int kullanmak arasında performans farkı varmıdır sorusuna gelirsek ?
cevap : elbete vardır. tinyint -128 – 127 arasında değer alır ve 1byte tır. int ise 4 byte. aşağıdaki tablodan değer araklıları ve byte bilgisine ulaşabilirsiniz.
TINYINT | 1 byte | -128 127
SMALLINT | 2 byte | -32768 32767
MEDIUMINT | 3 byte | -8388608 8388607
INT | 4 byte | -2147483648 2147483647
BIGINT | 8 byte | -9223372036854775808 9223372036854775807
benzer konu bulunamadı














design patterns