welcher Datentyp reserviert bereits einen fixen speicher platz in MS SQL (char oder varchar)?

...komplette Frage anzeigen

2 Antworten

Beide Typen belegen einen festen Speicherplatz. Der Unterschied besteht darin, dass Werte im Char -Typen alle exakt die gleiche Länge haben müssen und bei Varchar gibst du nur die Obergrenze an.

Wenn du weißt, dass deine Einträge alle exakt gleich lang sind, wähle Char, das ist schneller.

Gerade nachgelesen hier:

http://stackoverflow.com/questions/1885630/whats-the-difference-between-varchar-and-char

Ok, da war ich wohl etwas vorschnell. https://msdn.microsoft.com/en-us/library/ms176089.aspx Varchar belegt nur soviel Speicherplatz wie tatsächlich Werte eingegeben wurden (+2 Bytes), während Char immer den gleichen Platz einnimmt. Prinzipiell bleibt aber zu sagen, dass die Geschwindigkeit von Char wohl besser ist, sofern die einzutragenden Werte eine ähnliche Länge aufweisen.

1

Hier solltest du immer auf den nutzen achten. alle nicht Unicodewerte können in char und varchar gespeichert werden.

hast du Unicode, musst du nchar oder nvarchar verwenden. hier die mögliche länge berücksichtigen, ein max belegt bis zu 2GB.

beim varchar ist die codierung der schriftzeichen einfach, so bekommt du bis zu 8000 zeichen. bei nvarchar sind es 4000.

Was möchtest Du wissen?