2012-07-31 57 views
-1

我想知道SQL Server中用於存儲字符串的不同數據類型之間的區別。字符串的SQL Server數據類型差異

例如ntextnvarchar(X)varcharnvarchar(max)

什麼能在靈活性,資源使用和性能方面的建議?

+0

閱讀本文已經在這裏回答了問題,以獲得更清晰的..http://stackoverflow.com/questions/4187677/difference-between-different-string-types-in-sql-server – 2012-07-31 09:44:41

回答

0
  • 所有字符串類型的Nunicode的 - 2個字節每個字符,將存儲之類的東西西里爾字母,亞洲,阿拉伯,希伯來字母 - 而那些沒有領先N不是Unicode(僅妥善保管西歐/ ASCII字符)

  • TEXTNTEXT已廢棄 - 不使用這些了 - 使用(N)VARCHAR(MAX)代替 - 見relevant MSDN documentation on that topic的細節

  • NVARCHAR(X)是一個「正常」字符串, 8000字節的數據(4000個Unicode或8000個非Unicode字符) - 存儲在常規頁面中的SQL Server

  • NVARCHAR(MAX)是一種特殊類型,高達2 GB的存儲空間(10億個Unicode字符) - 但它需要特殊的存儲處理,需要更多的努力,執行比常規字符串慢一點;使用只有當在絕對必要

0

對於普通的英文字母使用VARCHAR和任何其他語言和外部字符使用nvarchar。 varchar使用每個charcater 1個字節進行存儲,nvarchar使用每個字符2個字節。