Datenbanken beschäftigen sich intensiv mit der Leistung - Geschwindigkeit und der Minimierung des Speichers. In den meisten anderen Teilen der Computerwelt wird es Sie nicht stören, wie viele Zeichen sich in Ihrer Zeichenfolge befinden. es könnte einer sein, es könnte der gesamte Inhalt einer Enzyklopädie sein; Es ist alles nur eine Schnur. Tatsächlich stören Sie viele Sprachen nicht einmal, ob es sich um eine Zeichenfolge oder eine Zahl handelt.
Da Computer jedoch schneller werden und mehr Arbeitsspeicher gewinnen, speichern die Benutzer mehr Daten in ihren Datenbanken und führen anspruchsvollere Abfragen durch. Für eine Datenbank sind CPU und Arbeitsspeicher heute genauso begrenzt wie zu Zeiten von 64-KB-Hauptspeicher und 10-MB-Festplatten (auf Mainframe- Computern).
Eine feste Anzahl von Bytes ist viel einfacher zu handhaben als eine Zahl mit variabler Länge. 10 Bytes sind viel einfacher zu handhaben als 1.000.000. Ihre Datenbank möchte also, dass Sie ihm einen Hinweis geben, damit Sie ein Gigabyte an Ergebnissen aus Terrabyte an Daten in Mikrosekunden erhalten. Wenn Sie Ihre Datenbank nicht so intensiv nutzen, brauchen Sie nicht die Geschwindigkeit, die sie bietet, und ärgern sich über die unnötigen Fragen. Aber wenn Sie die Leistung brauchen, geben Sie ihr gerne einige Tipps.
Wie in den anderen Antworten erwähnt, Gebrauch char
verwendet , wenn es immer eine bestimmte Anzahl von Zeichen, varchar
wenn die Länge variieren kann , aber es ist nicht zu groß wird (meine Vermutung ist am DB behandelt es als einen char
oder text
je nach Größe), und text
wenn es könnte beliebig lang sein. Wenn Ihr SQL versucht , eine zu verwenden , text
Spalte, könnte es am besten sein , es irgendwie zu fassen und es in einer setzen char
oder kleiner varchar
Spalte auch dann tun where
‚s und order by
‘ auf , dass s. Natürlich nur, wenn Ihnen die Leistung wichtig ist.
text
ist veraltet. Es gibt auch Nutzungsüberlegungen, die sich darauf beziehen, wo die Daten gespeichert werden und wie auf sie zugegriffen wird.