2009-04-12 10 views
2

Ich habe eine Datenbanktabelle, nennen wir es Länder. Alle Länder haben Namen, kurze Namen und Kontinente. Nehmen wir an, der längste Name eines Landes in der Welt ist 54 Zeichen lang. Sollte ich die maximale Größe auf 54 setzen oder sollte ich es z. 64 oder etwas anderes? Beeinflusst meine Wahl die Abfrage oder Speicherung in irgendeiner Weise?Ist die Größe der Datenbankfelder wichtig?

Ich weiß, dass dies wie Voroptimierung scheint, aber ich finde mich oft 32, 64, 128 usw. und ich würde gerne wissen, ob das wichtig ist.

Dank

Antwort

3

Ein solides DBMS sollte wissen, was dafür am besten ist. Wenn Sie "54 Zeichen" benötigen, aber die Datenbank Suchoptimierungen mit 64 Zeichen durchführen kann, wird das Datenfeld intern automatisch erweitert. Ist dies nicht der Fall, haben Sie 12 Zeichen pro Zeile gespeichert.

Ich glaube nicht, dass Sie sich darüber Gedanken machen sollten, schreiben Sie einfach auf, was Sie brauchen.

2

Antworten wird RDBMS spezifisch:

Wenn Sie SQL Server verwenden (ab 2000), ein varchar nur Platz für die eigentlichen Zeichen verwendet werden darin gespeichert (plus einen kleinen Overhead), bis bis zur angegebenen maximalen Größe.

Als allgemeine Faustregel, optimieren Sie nicht, bis Sie ein Problem haben.

1

Wenn Sie SQL Server verwenden, würde ich dringend NICHT mit VARCHAR (8000) oder VARCHAR (MAX) für alle Felder empfehlen ..... Sie müssen hier gesunden Menschenverstand herrschen lassen - machen Sie das Feld als groß wie du denkst du wirst es wahrscheinlich brauchen, ein wenig extra für unerwartete Länge hinzufügen, und du bist fertig :-)

Auch denke ich, es ist eine gute Idee, es auf ein paar Längen zu halten, die Sie über verwenden und immer wieder. Z.B. Ich verwende VARCHAR (255) für die meisten Felder wie Adresse oder E-Mail usw., die etwas länger sein können, VARCHAR (50) für Dinge wie Telefonnummern usw., und VARCHAR (20) für kurze Zeichenfolgen wie Postleitzahl und so weiter .

Seien Sie pragmatisch - finden Sie einen Stil, der für Sie arbeitet. Nicht überoptimieren, aber auch nicht umgekehrt.

Marc

+0

So variabler Größe Datentyp 54. Größe verwenden, was ist der Grund hinter der Verwendung 255 statt 256? –

+0

Weiß nicht - möglicherweise mein Pascal Erbe - Strings waren dann auf 255 Zeichen begrenzt :-) Kein besonderer Grund - nur eine persönliche (schlechte?) Gewohnheit –

+0

Ich benutze 255 für viele Varchars. Ich dachte, das käme von der E-Mail-Adresse RFC, aber ich könnte falsch liegen. – karim79

2

Abhängig vom Datentyp. Zum Beispiel in ORACLE - ein varchar2-Datentyp wäre eine gute Wahl für Strings variabler Länge. Sie müssen nur die maximale Länge der Zeichenfolge definieren - varchar2 (maxsize). Dies würde bedeuten, dass jeder String mit einer Länge von bis zu 10 passen würde. Die Länge der Spalte hängt von der tatsächlichen Zeichenfolge ab, die darin gespeichert ist.

Siehe. link text

In Ihrem Fall, wenn Sie absolut sicher, dass es nicht mehr als 54 Zeichen Namen des Landes ist, würde ich

Verwandte Themen