sql >> Database teknologi >  >> RDS >> Sqlserver

Hvad er forskellen mellem varchar og nvarchar?

En nvarchar kolonne kan gemme alle Unicode-data. En varchar kolonne er begrænset til en 8-bit tegntabel. Nogle mennesker tror, ​​at varchar bør bruges, fordi det fylder mindre. Jeg mener, at dette ikke er det rigtige svar. Inkompatibilitet med tegntabel er en smerte, og Unicode er kuren mod tegntabelproblemer. Med billig disk og hukommelse i dag, er der virkelig ingen grund til at spilde tid på at tude med kodetavler længere.

Alle moderne styresystemer og udviklingsplatforme bruger Unicode internt. Ved at bruge nvarchar i stedet for varchar , kan du undgå at lave kodningskonverteringer, hver gang du læser fra eller skriver til databasen. Konverteringer tager tid og er tilbøjelige til fejl. Og genopretning fra konverteringsfejl er et ikke-trivielt problem.

Hvis du bruger en applikation, der kun bruger ASCII, vil jeg stadig anbefale at bruge Unicode i databasen. OS- og databasesorteringsalgoritmerne vil fungere bedre med Unicode. Unicode undgår konverteringsproblemer ved grænseflader med andre systemer. Og du vil forberede dig på fremtiden. Og du kan altid validere, at dine data er begrænset til 7-bit ASCII, uanset hvilket ældre system, du skal vedligeholde, selv mens du nyder nogle af fordelene ved fuld Unicode-lagring.



  1. Hvad er MySQL? – En introduktion til databasestyringssystemer

  2. Sådan rettes "Et korrelationsnavn skal angives for bulk-rækkesættet i fra-klausulen." i SQL Server

  3. Grundlæggende om parallel programmering med Fork/Join Framework i Java

  4. Hold øje med en tabel nye poster i sql database