Şifreleme yöntemleri için char alanlar
Varchar değişken değerli char alan anlamında kullanılmaktadır. Char tipi alanlar belirlenen veri limiti kadar veriyi her satırda bulundurur, satıra girilen veri char alanın limitinden küçükte olsa char alan kendi limiti kadar alanı veri tabanında kaplayacaktır bunun aksine varchar alan değişken değerlere sahiptir, girilen veri kadar yer kaplar.
Varchar genellikle kişi isimleri, eposta adresleri, telefon numaraları, vb bilgileri tutmak için kullanılır. Varchar alan MySQL için en fazla 255 byte lık veri yani 255 karakterlik bir veri saklayabilir. Bu alan lar index olarak kullanılabildikleri gibi MySQL sürümünüze göre yüksek değerlerde index tanımlanamayabilirler.
Varchar alanlar da MySQL sürümüne göre karakter karşılaştırması yapılabilir.
Sabit uzunlukta olmayan ama 255 karakterden de kısa olan verileriniz için varchar alanlar en uygun tercih olacaktır.
Char alanlar sabit değerlere sahip verileri tutmak için kullanılırlar. Girilen veri boyutu kendi limitinden küçük olsa dahi kendi limiti kadar veri tabanında yer kaplar. Varchar gibi değişken değerli alanlara karşın char yapılan sorgularda çok daha hızlı yanıt vermektedir. Bu nedenle sabit değerlere sahip yani ne uzayan nede kısalan veri kümeleri için char kesinlikle en doğru tercih olacaktır.
Örneğin bir kullanıcı girişi için şifrelerinizi saklarken bunları md5 ya da sha1 gibi bir hash algoritması ile şifreledikten sonra veri tabanında saklıyorsunuz diyelim. MD5 girilen veri boyutu farketmeden onu bir 32 karakterlik bir katara dönüştürür yani elimizdeki şifremiz ne olursa olsun 32 karakter olacaktır. Bu nedenle char kullanmak en doğru seçim olacaktır çünkü char alan da ne olursa olsun tanımlandığı limit kadar yer kaplar. Saklanacak varchar olsa da char olsa da aynı boyutta olacaktır ancak char kullanırsak sorgularımızı da hızlandırmış oluruz. Bunun için şifremiz için 32 karakter limitli bir char alan kullanırız.
kaynak :
www.mysqlturkiye.org