Logo vi.removalsclassifieds.com

Sự khác biệt giữa Varchar và Nvarchar (Có bảng)

Mục lục:

Anonim

DBMS là phần mềm để quản lý cơ sở dữ liệu một cách hiệu quả. MSSQL dựa trên mô hình quan hệ và nằm trong 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 thuộc tính được đại diện bởi các cột, trong khi bản ghi đại diện cho mỗi hàng.

Khi bảng lưu trữ giá trị, thì mỗi cột có một loại 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, varchar và Nvarchar là hai trong số chúng khá khó hiểu. Bài viết này nêu bật sự khác biệt giữa varchar và Nvarchar.

Varchar vs Nvarchar

Sự khác biệt chính giữa kiểu dữ liệu varchar và Nvarchar là trong SQL, varchar là kiểu dữ liệu lưu trữ một tập dữ liệu ký tự không phải Unicode có độ dài không xác định. Mặt khác, trong SQL, nó là kiểu dữ liệu để lưu trữ dữ liệu ký tự Unicode với độ dài không xác định.

Trong máy chủ AQL, varchar là một kiểu dữ liệu liên quan đến các ký tự biến. Phân bổ bộ nhớ tương ứng 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ữ. Thông 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 khoảng cách để 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 giữa Varchar và Nvarchar

Các thông số so sánh Varchar Nvarchar
Diễn dịch Trong SQL, varchar là kiểu dữ liệu lưu trữ một tập dữ liệu ký tự không phải Unicode có độ dài không xác định. Trong SQL, Nvarchar là kiểu dữ liệu để lưu 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 không phải Unicode Dữ liệu Unicode
Kích thước ký tự 1 byte 2 byte
Chiều dài tối đa 8, 000 4, 000
Kích thước lưu trữ Độ dài thực tế (tính bằng byte) 2 lần độ dài thực (tính bằng byte)

Varchar là gì?

Varchar là một kiểu dữ liệu 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 đó, (R) là số byte tối thiểu được dành riêng cho cột và m là 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 là 0 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à 254 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.

Tùy chọn chỉ định tham số không gian dành riêng tối thiểu (R). 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ị nhỏ nhất 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 một 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), một số hàng được dành cho không gian sẽ không được sử dụng.

Nvarchar là gì?

Nvarchar là một 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ữ đại diện cho chữ hoa, ký hiệu, chữ thường và chữ số. Cần phải chỉ định giá trị lớn nhất 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ác chuỗi ký tự ngắn hơn có thể được lưu trữ nhưng không dài hơn giá trị được 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 vùng dự trữ.

Cần phải chỉ định tham số dành riêng trong khi chèn các hàng có giá trị dữ liệu ban đầu không có hoặc ít ký tự trong cột này. Sau đó, nó đang mong đợi dữ liệu được cập nhật với các giá trị dài hơn. Giá trị này thường 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 gồm 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 trên không gian được sử dụng trong một bảng không ảnh hưởng đến kích thước chỉ mục. 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

Sự kết luận

Có thể kết luận rằng cả varchar và Nvarchar đều là kiểu dữ liệu nằm trong mỗi cột. Trong SQL, varchar là kiểu dữ liệu lưu trữ một tập dữ liệu ký tự không phải Unicode có độ dài không xác định. Mặt khác, trong SQL, Nvarchar là kiểu dữ liệu để lưu dữ liệu ký tự Unicode với độ dài không xác định.

Varchar là kiểu dữ liệu ký tự không phải Unicode với kích thước ký tự là 1 byte. Mặt khác, Nvarchar là một kiểu dữ liệu ký tự Unicode với 2 byte làm kích thước ký tự của nó. Trong MSSQL, varchar có thể lưu trữ một ký tự tối đa là 8000, trong khi có thể lưu trữ một ký tự tối đa là 4000.

Người giới thiệu

Sự khác biệt giữa Varchar và Nvarchar (Có bảng)