sql >> Databáze >  >> RDS >> Sqlserver

Jaký je rozdíl mezi varchar a nvarchar?

nvarchar sloupec může ukládat jakákoli data Unicode. varchar sloupec je omezen na 8bitovou kódovou stránku. Někteří lidé si myslí, že varchar by měl být použit, protože zabírá méně místa. Věřím, že to není správná odpověď. Nekompatibilita kódových stránek je bolest a Unicode je lékem na problémy s kódovými stránkami. S levným diskem a pamětí v dnešní době už opravdu není důvod ztrácet čas mačkáním kódových stránek.

Všechny moderní operační systémy a vývojové platformy interně používají Unicode. Pomocí nvarchar spíše než varchar , můžete se vyhnout provádění převodů kódování při každém čtení nebo zápisu do databáze. Konverze vyžadují čas a jsou náchylné k chybám. A zotavení z chyb převodu je netriviální problém.

Pokud používáte rozhraní s aplikací, která používá pouze ASCII, stále bych doporučil používat v databázi Unicode. Algoritmy řazení operačního systému a databází budou lépe fungovat s Unicode. Unicode zabraňuje problémům s převodem při propojení s jinými systémy. A budete se připravovat na budoucnost. A vždy můžete ověřit, že vaše data jsou omezena na 7bitové ASCII pro jakýkoli starší systém, který musíte udržovat, a to i při využití některých výhod plného úložiště Unicode.



  1. Vytváří cizí klíč automaticky index?

  2. Pochopení transakcí v SQL

  3. Je Microsoft Access snadné se naučit?

  4. Návrhový vzor pro vlastní pole v relační databázi