Sorunuza verilen spesifik cevap (en azından Oracle ve muhtemelen diğer veritabanları için), alanın uzunluğunun önemli değil, yalnızca verilerin uzunluğudur. Ancak, bu alanın izin verilen maksimum uzunluğa ayarlanıp ayarlanmamasına ilişkin belirleyici bir faktör olarak kullanılmamalıdır. Alan boyutlarını maksimize etmeden önce göz önünde bulundurmanız gereken bazı diğer hususlar.
Biçimlendirme
Verileri alanların boyutuna göre biçimlendiren herhangi bir istemci aracı özel biçimlendirme hususları gerektirecektir. Oracle SQL * Plus, örneğin, varsayılan olarak, veriler yalnızca bir karakter uzunluğunda olsa bile, maksimum Varchar2 sütunlarının boyutunu görüntüler. Karşılaştırmak…
create table f1 (a varchar2(4000), b varchar2(4000));
create table f2 (a varchar2(5), b varchar2(5));
insert into f1 values ('a','b');
insert into f2 values ('a','b');
select * from f1;
select * from f2;
Kötü Veri
Alan uzunluğu, kötü verileri yakalamak / önlemek için ek bir mekanizma sağlar. Bir arabirim 100 karakterlik bir alana 3000 karakter eklemek istememelidir, ancak bu alan 4000 karakter olarak tanımlandıysa, sadece olabilir. Hatanın veri giriş aşamasında yakalanmaması gerekir, ancak başka bir uygulama verileri işlemeye çalıştığında ve tıkandığında, sistemin daha da zorlanmasına neden olabilir. Örnek olarak, daha sonra Oracle'da alanı endekslemeye karar verirseniz, maksimum anahtar uzunluğunu aşmış olursunuz (blok büyüklüğüne ve birleştirmeye bağlı olarak). Görmek…
create index i1 on f1(a);
Bellek
İstemci uygulaması maksimum boyutu kullanarak bellek ayırırsa, uygulama gerektiğinden çok daha fazla bellek tahsis eder. Bundan kaçınmak için özel hususların yapılması gerekecektir.
Dokümantasyon
Alanın boyutu, verilerle ilgili başka bir dokümantasyon veri noktası sağlar. Tüm tablolara t1, t2, t3, vb. Ve tüm alanları f1, f2, f3, vb. Çağırabiliriz, ancak anlamlı isimler belirterek verileri daha iyi anlarız. Örneğin, ABD’deki müşterileri olan bir şirketin adres tablosu Devlet olarak adlandırılan bir alana sahipse, iki karakterlik durum kısaltmasının içeri girmesini bekleriz. Öte yandan, alan yüz karakter ise, tam durum adının alana girmesini bekleyebiliriz.
Bütün bunlar söylendiğinde değişime hazırlıklı olmak akıllıca görünmektedir. Günümüzde tüm ürün isimlerinizin 20 karaktere uyması, her zaman alacağı anlamına gelmez. Denize düşüp 1000 yapmayın, ancak makul genişleme için yer bırakın.