CHAR() Veri Tipi ile VARCHAR() Veri Tipi Arasındaki Farklar

CHAR() Veri Tipi ile VARCHAR() Veri Tipi Arasındaki Farklar,

Veri tipleri performans aÇısından oldukÇa önemlidir. Oluşturduğumuz kolonlarda veri tiplerini seÇerken
oldukÇa dikkatli olmak gerekir ve amaca en uygun veri tipini seÇmek gerekir.

1- Char veritipi 0 ile 255 karakter arasında veri tutabilirken, Varchar veritipi MySQL v5,03 ten itibaren 0 ile 65,535 karakter arasında veri tutabilmektedir.

2- Char veritipi, tanımlandığı kadar kapasitenin tamamını kullanır. Ürnek olarak siz 5 karakterlik bir alan tanımlamışsanız, bu alana 2 karakter bile girmiş olsanız, geriye kalan sağdan 3 karakterlik alan boşluk karakteri ile doldurulur. Varchar veritipi ise değişken bir yapıya sahiptir ve tanımlanan karakter katarına kadar olan boyutta değişkenlik gösterebilir.

3- Char veritipinin kullanım alanı olarak sabit uzunluklu veri yapıları gösterilebilir. (Ürn: telefon numaraları, kredi kartı no vb.) Varchar ise değişken uzunluklu veri yapıları iÇin uygundur. (Ürn: isim, mail vb.)

4- Ayrıca bir tabloda varchar veritipinde tek bir alan bile yer alsa, bu aynı tablodaki diğer char veritipi ile belirlenmiş alanlarında Varchar biÇiminde Çalışmasına neden olur.

Bir sonraki Makaleler de görüşmek dileğiyle.

Tayfur BÖLER
Database Administrator

“CHAR() Veri Tipi ile VARCHAR() Veri Tipi Arasındaki Farklar” için 6 cevap

  1. Peki sabit uzunlukta değer alan alanlarda (tel, okulno) char yerine varchar kullanmanın herhangi bir artısı olur mu?

  2. Eğer bu tel ve okul nonun karakter uzunluğu sabit ise yani herhangi bir kısalma söz konusu değil ise char() ile varchar() arasında fark olmaz.

  3. her halükarda bakıldığında varchar daha mantıklı göründüğünden, her ikisi arasında kullanıma göre bir tercih hakkı ortaya çıkıyorsa ve hatta 4. maddede ifade edildiği gibi bir durum ortaya çıkıyorsa char’ın hala hayat hakkı geriye dönük uyumluluktan kaynaklanıyor olsa gerek başka bir yerdede aksi bişeye rastlamadım şimdiye kadar.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir