Konkretna odpowiedź na twoje pytanie (przynajmniej dla Oracle danych i prawdopodobnie innych baz danych) jest taka, że długość pola nie ma znaczenia, a jedynie długość danych. Nie należy tego jednak wykorzystywać jako czynnika decydującego o tym, czy ustawić pole na jego maksymalną dopuszczalną długość, czy nie. Oto kilka innych kwestii, które należy wziąć pod uwagę przed zwiększeniem wielkości pól.
Formatowanie
Każde narzędzie klienckie, które formatuje dane na podstawie wielkości pól, będzie wymagać specjalnych rozważań dotyczących formatowania. Na przykład SQL * Plus Oracle domyślnie wyświetla maksymalny rozmiar kolumn Varchar2, nawet jeśli dane mają tylko jeden znak. Porównać…
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;
Długość złych danych stanowi dodatkowy mechanizm wychwytywania / zapobiegania złym danym. Interfejs nie powinien próbować wstawić 3000 znaków w pole 100 znaków, ale jeśli pole to jest zdefiniowane jako 4000 znaków, może po prostu. Błąd nie zostanie wykryty na etapie wprowadzania danych, ale system może mieć dalsze problemy, gdy inna aplikacja próbuje przetworzyć dane i dławiki. Na przykład, jeśli później zdecydujesz się zaindeksować pole w Oracle, przekroczysz maksymalną długość klucza (w zależności od wielkości bloku i konkatenacji). Widzieć…
create index i1 on f1(a);
Pamięć
Jeśli aplikacja kliencka przydziela pamięć przy użyciu maksymalnego rozmiaru, aplikacja przydzieli znacznie więcej pamięci, niż jest to konieczne. Aby tego uniknąć, należy podjąć specjalne rozważania.
Dokumentacja
Rozmiar pola stanowi kolejny punkt danych dokumentacji dotyczący danych. Możemy wywołać wszystkie tabele t1, t2, t3 itd. I wszystkie pola f1, f2, f3 itd., Ale poprzez podanie znaczących nazw lepiej rozumiemy dane. Na przykład, jeśli tablica adresów dla firmy z klientami w USA ma pole o nazwie Stan, które jest dwoma znakami, spodziewamy się, że będzie w nim występować skrót dwóch znaków stanu. Z drugiej strony, jeśli pole ma sto znaków, możemy spodziewać się, że w polu pojawi się pełna nazwa stanu.
Biorąc to wszystko pod uwagę, wydaje się rozsądnym być przygotowanym na zmiany. To, że wszystkie nazwy Twoich produktów mieszczą się dziś w 20 znakach, nie oznacza, że zawsze będą. Nie idź za burtę i nie daj 1000, ale zostaw miejsce na prawdopodobną ekspansję.