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. 

Các nội dung 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.   

Cũng đọc:  Tường lửa Sophos vs Cyberoam: Sự khác biệt và so sánh

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)
Ghim cái này ngay để nhớ sau
Ghim cái này

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.

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 một trường có độ dài thay đổi. Các ký tự không phải Unicode như ASCII được lưu trữ, biểu diễn chữ hoa, ký hiệu, chữ thường và chữ số. Cần phải chỉ định giá trị tối đa của cột.  

Cũng đọc:  Hiệu đính so với Chỉnh sửa bản sao: Sự khác biệt và So sánh

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.

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 hoặc độ dài dữ liệu có độ dài thay đổi. Nhưng Nvarchar được sử dụng nếu bạn cần hỗ trợ Unicode như Hangul tiếng Hàn hoặc ký tự kanji tiếng Nhật 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
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À ♥️

Sandeep Bhandari
Sandeep Bhandari

Sandeep Bhandari có bằng Cử nhân Kỹ thuật Máy tính của Đại học Thapar (2006). Ông có 20 năm kinh nghiệm trong lĩnh vực công nghệ. Anh rất quan tâm đến các lĩnh vực kỹ thuật khác nhau, bao gồm hệ thống cơ sở dữ liệu, mạng máy tính và lập trình. Bạn có thể đọc thêm về anh ấy trên trang sinh học.

8 Comments

  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.

  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.

  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.

  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.

Bình luận

Chúng tôi sẽ không công khai email của bạn. Các ô đánh dấu * là bắt buộc *

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!