SQL Server: die am häufigsten verwendeten Datentypen?

7

Ich bin etwas verwirrt, da es viele Variablentypen in sql server gibt (ntext, varchar, nvarchar usw.). Wenn Sie mir also die Datentypen geben, die Sie für die folgenden Felder verwenden, verstehe ich das ein wenig besser . Wenn ich einen gemeinsamen Feldtyp vermisse, lass es mich wissen.

ID
Telefonnummer
E-Mail-Adresse Beschreibung (ein Absatz des Textes)
Name
SSN
Preisschild Lieferdatum
Sex (m / w)
Eingestellt (ja / nein)
Menge
Postleitzahl

    
foreyez 22.12.2010, 01:07
quelle

5 Antworten

10

Eine kurze Empfehlung:

  • TEXT, NTEXT, IMAGE : Alle diese Typen sind veraltet und werden in einer zukünftigen Version von SQL Server entfernt. Verwenden Sie diese nicht! p>

  • CHAR vs. VARCHAR : CHAR hat eine feste Länge und füllt die Eingaben mit Leerzeichen auf die definierte Länge auf. Funktioniert am besten für kurze Strings (& lt; 5 Zeichen), z.B. Codes, wie Währung (fast immer 3 Zeichen), US-Status (2 Zeichen) usw. VARCHAR hingegen funktioniert am besten für längere Strings und speichert nur so viele Zeichen wie eingefügt / aktualisiert werden. Wenn Sie ein VARCHAR(200) definieren und nur Christmas in das Feld einfügen, belegt Ihr Feld 9 Zeichen (und ein wenig Overhead)

  • NCHAR/NVARCHAR : Unicode-Versionen von oben; speichert immer 2 Bytes pro Zeichen, also speichert Ihr Feld mit Christmas 9 Zeichen und verwendet dafür 18 Bytes. Diese werden benötigt, wenn Sie nicht westeuropäische Zeichen haben - wie kyrillische, arabische, hebräische, asiatische oder andere Alphabete.

  • VARCHAR(MAX) / NVARCHAR(MAX) sind die Ersetzungen für TEXT und NTEXT - das Speichern von bis zu 2 GByte (2 Milliarden Bytes) Daten - das ist mehr als das 300-fache von Tolstois War and Peace - sollte ausreichen große Mehrheit der Fälle: -)

So könnte Ihr Entscheidungsbaum so aussehen:

  1. Brauche ich nicht westeuropäische Charaktere? Wenn ja - & gt; Verwenden Sie NCHAR/NVARCHAR types, andernfalls CHAR/VARCHAR

  2. Ist meine Zeichenkette sehr kurz (& lt; 5 Zeichen) und typischerweise immer gleich lang? Wenn ja: Verwenden Sie CHAR, andernfalls VARCHAR

  3. Brauche ich wirklich sehr große Textmengen? Wenn dies der Fall ist, verwenden Sie VARCHAR (MAX), andernfalls passen Sie es an Ihre Bedürfnisse an.

marc_s 22.12.2010 07:40
quelle
5
%Vor%     
Justin Niessner 22.12.2010 01:14
quelle
2
%Vor%

Viele Leute werden nvarchar in allen Fällen anstelle von varchar empfehlen, aber da ich meine Websites / Zielgruppe kenne, muss ich keine internationalen Zeichensätze zulassen und möchte den Speicherplatz / die Geschwindigkeit / Ressourcen nicht verschwenden (minimal ich weiß). Wenn es nötig ist, ersetzen Sie gegebenenfalls nvarchar

    
E.J. Brennan 22.12.2010 01:16
quelle
1

Hier ist, was ich in der Vergangenheit verwendet habe

%Vor%     
John Hartsock 22.12.2010 01:12
quelle
1
%Vor%     
bobs 22.12.2010 01:44
quelle

Tags und Links