Merhaba arkadaşlar. Bundan sonra blog’da daha sık yazı yazmayı düşünüyorum. Ufak ipuçlarına ve performans ipuçlarına ağırlık vereceğim.
Birçoğumuz ip adreslerini veritabanında saklarken 15 karakter uzunluğunda varchar ile oluşturulmuş sütunlar kullanırız. Bu durum INT alanından 4byte daha fazla kayba neden olur. Bunun yerine UNSIGNED INT kullanmamız sistem kaynaklarını 4byte daha az tüketmemizi sağlar.
Daha performanslı bir yapı için 10 karakter uzunluğunda UNSIGNED INT kullanıyoruz. IP’yi veritabanına kaydederken INET_ATON() fonksiyonunu kullanıyoruz.
INSERT INTO uyeler VALUES(3, 'Gökhan Bora', INET_ATON('192.168.5.4'));
IP’yi veritabanından alırken ise INET_NTOA() fonksiyonunu kullanıyoruz.
SELECT INET_NTOA(ip) AS ip FROM uyeler WHERE id=3;
Kaynaklar:
http://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html
