Varchar vs Nvarchar: Sự khác biệt và so sánh

DBMS là phần mềm quản lý cơ sở dữ liệu hiệu quả. MSSQL dựa trên mô hình quan hệ và thuộc DBMS. Dữ liệu là MSSQL được lưu trữ trong các bảng được kết nối.

Một bộ giá trị cụ thể được lưu trữ trong mỗi bảng. Các cột đại diện cho các thuộc tính, trong khi bản ghi đại diện cho mỗi hàng.   

Khi bảng lưu trữ giá trị, mỗi cột có một kiểu dữ liệu cụ thể. Hay nói một cách đơn giản, kiểu dữ liệu được nhấn vào trong mỗi cột.

Khi nói đến kiểu dữ liệu, véc ni và Nvarchar là hai trong số chúng khá khó hiểu. Bài viết này nhấn mạnh sự khác biệt giữa varchar và Nvarchar. 

Chìa khóa chính

  1. VARCHAR lưu trữ dữ liệu ký tự có độ dài thay đổi bằng cách sử dụng một byte đơn cho mỗi ký tự, trong khi NVARCHAR lưu trữ dữ liệu ký tự có độ dài thay đổi bằng cách sử dụng hai byte cho mỗi ký tự.
  2. NVARCHAR hỗ trợ nhiều loại ký tự hơn, bao gồm các ký tự Unicode, trong khi VARCHAR chỉ hỗ trợ các ký tự không phải Unicode.
  3. VARCHAR yêu cầu ít dung lượng lưu trữ hơn NVARCHAR do mã hóa byte đơn của nó, làm cho nó hiệu quả hơn đối với các bộ ký tự nhỏ hơn.

Varchar đấu với Nvarchar 

VARCHAR là kiểu dữ liệu lưu trữ dữ liệu ký tự ở định dạng không phải Unicode, chiếm ít không gian lưu trữ hơn nhưng chỉ hỗ trợ một số bộ ký tự nhất định. NVARCHAR là kiểu dữ liệu lưu trữ dữ liệu ký tự ở định dạng Unicode, chiếm nhiều dung lượng lưu trữ hơn nhưng hỗ trợ phạm vi bộ ký tự rộng hơn.

Varchar đấu với Nvarchar

Varchar là một kiểu dữ liệu liên quan đến các ký tự biến trong máy chủ AQL. Cấp phát bộ nhớ phù hợp với các ký tự được chèn.

Trong khi sử dụng varchar, các ký tự không phải Unicode được lưu trữ. Tham số kích thước tối đa (m) của cột varchar có thể nằm trong khoảng từ 1 đến 255 byte.  

Nvarchar cũng là một kiểu dữ liệu liên quan đến các ký tự biến trong SQL Server. Trong cơ sở dữ liệu, nhiều ngôn ngữ có thể được lưu trữ.

Trong trường hợp các ngôn ngữ khác được sử dụng, thì sẽ mất gấp đôi dung lượng để lưu trữ một bộ ký tự mở rộng. Trong khi sử dụng Nvarchar, các ký tự Unicode được sử dụng.   

Bảng so sánh

Các thông số so sánh véc ni  Nvarchar 
Sự giải thíchTrong SQL, varchar là kiểu dữ liệu lưu trữ tập dữ liệu ký tự không phải Unicode có độ dài không xác định.Trong SQL, Nvarchar là một kiểu dữ liệu để lưu trữ dữ liệu ký tự Unicode với độ dài không xác định.  
Kiểu dữ liệu ký tựDữ liệu phi UnicodeDữ liệu Unicode
Kích thước nhân vậtByte 12 byte
Chiều dài tối đa8,0004,000
Kích thước lưu trữĐộ dài thực tế (tính bằng byte)2 lần chiều dài thực tế (tính bằng byte)

Varchar là gì? 

Kiểu dữ liệu varchar lưu trữ các chuỗi ký tự có độ dài khác nhau chứa các ký tự nhiều byte và một byte.

Cũng đọc:  Nomad vs Kubernetes: Sự khác biệt và so sánh

Trong trường hợp này, (R) là viết tắt của số byte tối thiểu được dành riêng cho cột và m là viết tắt của kích thước tối đa của cột.  

Một cột được coi là varchar không có tham số và dấu ngoặc đơn có kích thước dành riêng bằng 254 và kích thước tối đa là một byte. Trong trường hợp đặt một chỉ mục trên một cột của varchar, thì kích thước tối đa là XNUMX byte.

Các chuỗi ký tự cũng có thể được lưu trữ ngắn hơn giá trị m nhưng cũng không dài hơn.  

Việc chỉ định tham số không gian dự trữ tối thiểu (R) là tùy chọn. Giá trị này có thể từ 0 đến 255 byte nhưng phải nhỏ hơn (m) của cột varchar.

Nó có thể mặc định là 0 nếu giá trị tối thiểu không được chỉ định. Vì vậy, cần phải chỉ định tham số này khi người dùng ban đầu chèn một hàng có chuỗi ký tự null vào cột.  

Khi một chuỗi được lưu trữ trong cột varchar, thì các ký tự thực tế chỉ được lưu trữ. Nếu không gian dành riêng hoặc (R) không được chỉ định, nhưng một số chuỗi dữ liệu ngắn hơn byte của (R), thì một số hàng dành riêng cho không gian sẽ không được sử dụng. 

Nvarchar là gì? 

Nvarchar là kiểu dữ liệu để lưu trữ dữ liệu ký tự trong trường có độ dài thay đổi. Các ký tự không phải Unicode như ASCII được lưu trữ, đại diện cho chữ hoa, ký hiệu, chữ thường và chữ số. Cần chỉ định giá trị tối đa của cột.  

Khi một chỉ mục được đặt trên cột Nvarchar, thì kích thước tối đa là 254 byte. Có thể lưu trữ các chuỗi ký tự ngắn hơn nhưng không dài hơn giá trị đã chỉ định. Nếu giá trị không gian tối thiểu không được chỉ định, thì giá trị mặc định là 0 của dự trữ.

Chỉ định tham số dành riêng trong khi ban đầu chèn các hàng có giá trị dữ liệu không có hoặc có ít ký tự trong cột này là cần thiết.

Cũng đọc:  Microsoft Yammer vs SharePoint: Sự khác biệt và so sánh

Sau đó, nó mong đợi dữ liệu được cập nhật với giá trị dài hơn. Giá trị này nằm trong khoảng từ 0 đến 255 byte nhưng phải nhỏ hơn kích thước tối đa của cột.  

Dữ liệu có thể là một chuỗi các chữ cái nhiều byte hoặc một byte, chữ số và các ký tự khác được hỗ trợ bởi bộ mã của cơ sở dữ liệu được định vị. 

Việc sử dụng Nvarchar tiết kiệm không gian được sử dụng trong bảng không ảnh hưởng đến kích thước chỉ mục. Một chỉ mục dựa trên cột của Nvarchar, độ dài của mỗi khóa chỉ mục bằng byte tối đa, kích thước tối đa của cột. 

Sự khác biệt chính giữa Varchar và Nvarchar 

  1. Varchar được sử dụng nếu dữ liệu thực tế nhỏ hơn dung lượng và các cột có độ dài thay đổi hoặc độ dài dữ liệu có thể thay đổi. Nhưng Nvarchar được sử dụng nếu bạn cần hỗ trợ Unicode như Tiếng Hàn Hangul hoặc các ký tự kanji của Nhật Bản do chi phí lưu trữ.   
  2. Dấu ngoặc đơn được sử dụng để bao quanh các chữ cái varchar, ví dụ: 'John.' Mặt khác, chữ của Nvarchar cũng có tiền tố là N, giống như N'John.'  
  3. Về ưu điểm, Varchar chiếm ít dung lượng bộ nhớ hơn do độ dài thay đổi, trong khi Nvarchar hỗ trợ chạy các máy khách với các ngôn ngữ khác nhau.  
  4. Các ký tự không phải Unicode như ASCII được lưu trữ trong varchar, đại diện cho chữ hoa, ký hiệu, chữ thường và chữ số. Nhưng các ký tự Unicode được lưu trữ trong Nvarchar đại diện cho tiếng Hy Lạp, tiếng Anh, v.v.  
  5. Khi gặp nhược điểm, varchar làm giảm hiệu suất của một số truy vấn SQL, trong khi không gian lưu trữ bổ sung của người dùng Nvarchar không được sử dụng đúng cách.   
dự án
  1. http://www.vldb.org/conf/2006/p1243-houkjar.pdf

Cập nhật lần cuối: ngày 11 tháng 2023 năm XNUMX

chấm 1
Một yêu cầu?

Tôi đã nỗ lực rất nhiều để viết bài đăng trên blog này nhằm cung cấp giá trị cho bạn. Nó sẽ rất hữu ích cho tôi, nếu bạn cân nhắc chia sẻ nó trên mạng xã hội hoặc với bạn bè/gia đình của bạn. CHIA SẺ LÀ ♥️

suy nghĩ 8 trên "Varchar vs Nvarchar: Sự khác biệt và so sánh"

  1. Các tài liệu tham khảo được cung cấp để đọc thêm sẽ bổ sung thêm tính chặt chẽ về mặt học thuật cho bài viết, khiến nó trở thành nguồn thông tin đáng tin cậy cho các chuyên gia quản lý cơ sở dữ liệu.

    đáp lại
  2. Các kiểu dữ liệu Varchar và Nvarchar tuy khó hiểu nhưng vẫn hấp dẫn. Điều cần thiết là phải hiểu sự khác biệt để tận dụng tối đa máy chủ SQL.

    đáp lại
  3. Việc đưa ra những khác biệt chính giữa Varchar và Nvarchar ở cuối bài viết sẽ tóm tắt một cách hiệu quả những điểm chính cần rút ra. Một bài đọc có cấu trúc tốt và nhiều thông tin.

    đáp lại
  4. Hiểu được sự khác biệt giữa Varchar và Nvarchar là điều quan trọng đối với việc quản lý cơ sở dữ liệu. Bài viết này góp phần đáng kể vào việc làm rõ những điều phức tạp này.

    đáp lại

Để lại một bình luận

Bạn muốn lưu bài viết này cho sau này? Nhấp vào trái tim ở góc dưới cùng bên phải để lưu vào hộp bài viết của riêng bạn!