Die spezifische Antwort auf Ihre Frage (zumindest für Oracle und wahrscheinlich andere Datenbanken) ist, dass die Länge des Feldes keine Rolle spielt, nur die Länge der Daten. Dies sollte jedoch nicht als bestimmender Faktor dafür herangezogen werden, ob das Feld auf die maximal zulässige Länge eingestellt werden soll oder nicht. Hier sind einige andere Punkte, die Sie berücksichtigen sollten, bevor Sie die Feldgröße maximieren.
Formatierung
Jedes Client-Tool, das die Daten basierend auf der Größe der Felder formatiert, erfordert spezielle Überlegungen zur Formatierung. Beispielsweise zeigt SQL * Plus von Oracle standardmäßig die maximale Größe von Varchar2-Spalten an, auch wenn die Daten nur ein Zeichen lang sind. Vergleichen Sie…
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;
Schlechte Datenfeldlänge
bietet einen zusätzlichen Mechanismus zum Auffangen / Verhindern von schlechten Daten. Eine Schnittstelle sollte nicht versuchen, 3000 Zeichen in ein Feld mit 100 Zeichen einzufügen. Wenn dieses Feld jedoch mit 4000 Zeichen definiert ist, ist dies möglicherweise der Fall. Der Fehler wurde bei der Dateneingabe nicht abgefangen, aber das System kann weiter unten Probleme haben, wenn eine andere Anwendung versucht, die Daten und Drosseln zu verarbeiten. Wenn Sie sich beispielsweise später entscheiden, das Feld in Oracle zu indizieren, überschreiten Sie die maximale Schlüssellänge (abhängig von Blockgröße und Verkettung). Sehen…
create index i1 on f1(a);
Arbeitsspeicher
Wenn die Clientanwendung Arbeitsspeicher mit der maximalen Größe zuweist, würde die Anwendung erheblich mehr Arbeitsspeicher zuweisen, als erforderlich ist. Um dies zu vermeiden, müssten besondere Überlegungen angestellt werden.
Dokumentation
Die Größe des Feldes bietet einen weiteren Datenpunkt für die Dokumentation der Daten. Wir könnten alle Tabellen t1, t2, t3 usw. und alle Felder f1, f2, f3 usw. aufrufen, aber indem wir aussagekräftige Namen angeben, verstehen wir die Daten besser. Wenn beispielsweise eine Adresstabelle für ein Unternehmen mit Kunden in den USA ein Feld mit der Bezeichnung "Bundesstaat" enthält, das aus zwei Zeichen besteht, wird erwartet, dass die Abkürzung für den Bundesstaat aus zwei Zeichen enthalten ist. Auf der anderen Seite können wir erwarten, dass der vollständige Statusname in das Feld aufgenommen wird, wenn das Feld 100 Zeichen enthält.
Trotzdem scheint es ratsam, auf Veränderungen vorbereitet zu sein. Nur weil alle Ihre heutigen Produktnamen aus 20 Zeichen bestehen, bedeutet dies nicht, dass dies immer der Fall ist. Gehen Sie nicht über Bord und machen Sie es 1000, sondern lassen Sie Platz für eine plausible Erweiterung.