Varchar vs Nvarchar
Sự khác nhau giữa varchar và nvarchar chỉ ra cách dữ liệu được lưu trữ trong cơ sở dữ liệu. Một hệ thống cơ sở dữ liệu bao gồm dữ liệu và dữ liệu được định nghĩa bởi các kiểu dữ liệu. Một kiểu dữ liệu cho biết loại giá trị mà một cột có thể chứa. Mỗi cột trong một bảng cơ sở dữ liệu phải có một tên và một kiểu dữ liệu. Ngày nay, có rất nhiều loại dữ liệu có sẵn trong thiết kế cơ sở dữ liệu. Trong số các kiểu dữ liệu này, varchar và nvarchar được sử dụng để lưu trữ các ký tự chuỗi. Varchar và Nvarchar dường như có thể hoán đổi cho nhau. Nhưng hai loại này có lợi thế khác nhau, và chúng được sử dụng cho các mục đích khác nhau.
Varchar là gì?
Như tên cho thấy, varchar là ký tự khác hoặc thay đổi char. Cú pháp của varchar là VARCHAR [(n | max)]. Varchar lưu trữ dữ liệu ASCII là dữ liệu không phải là Unicode, và đó là loại dữ liệu được sử dụng trong việc sử dụng thông thường. Varchar sử dụng một byte cho mỗi ký tự. Nó cũng lưu trữ chiều dài của mỗi chuỗi trong cơ sở dữ liệu. Varchar có chiều dài dữ liệu biến đổi và có thể lưu trữ tối đa 8000 ký tự không phải là Unicode. Loại dữ liệu này rất linh hoạt và sẽ chấp nhận hầu hết các loại dữ liệu khác nhau. Varchar không cho phép bạn lưu trữ các ký tự trống cho các phần không sử dụng của chuỗi. Kích thước lưu trữ tối đa của varchar là 2 GB và dung lượng lưu trữ thực của dữ liệu là chiều dài thực tế của dữ liệu cộng với hai byte. Mặc dù varchar chậm hơn char, nó sử dụng phân bổ bộ nhớ động. Không chỉ các chuỗi mà còn các kiểu không phải chuỗi như kiểu ngày, “14 tháng 2”, “12/11/2014” cũng có thể được lưu trữ trong kiểu dữ liệu varchar.
Nvarchar là gì?
Nvarchar gợi ý nhân vật khác nhau hoặc quốc gia khác nhau. Cú pháp của nvarchar là NVARCHAR [(n | max)]. Nvarchar có thể lưu trữ các loại dữ liệu khác nhau với chiều dài khác nhau. Chúng là dữ liệu Unicode và dữ liệu và ngôn ngữ đa ngôn ngữ với các ký tự giống như byte kép ở Trung Quốc. Nvarchar sử dụng 2 byte cho mỗi ký tự, và nó có thể lưu trữ giới hạn tối đa 4000 ký tự và chiều dài tối đa là 2 GB. Nvarchar xử lý chuỗi như là chuỗi rỗng và không có ký tự. Kích thước lưu trữ gấp đôi số ký tự kích thước cộng với hai byte. Trong nvarchar, các khoảng trống sau không bị xóa khi giá trị được lưu trữ và nhận.
Sự khác biệt giữa Varchar và Nvarchar là gì?
Sự khác biệt chính giữa varchar và nvarchar chỉ ra cách dữ liệu được lưu trữ trong cơ sở dữ liệu.
• Varchar lưu trữ các giá trị ASCII và nvarchar lưu các ký tự Unicode.
• Varchar sử dụng một byte cho mỗi ký tự trong khi nvarchar sử dụng hai byte cho mỗi ký tự.
• Varchar [(n)] chứa các ký tự không phải là ký tự Unicode với độ dài thay đổi và Nvarchar [(n)] lưu trữ các ký tự Unicode với chiều dài thay đổi.
• Varchar có thể lưu trữ tối đa 8000 ký tự không phải Unicode và nvarchar lưu trữ tối đa 4000 ký tự Unicode hoặc không phải Unicode.
Varchar là tốt hơn để sử dụng ở những nơi có biến với các ký tự không phải là ký tự Unicode. Nvarchar được sử dụng ở những nơi có nhiều ký tự Unicode khác nhau.
• Kích thước lưu trữ của varchar là số byte bằng với số ký tự cộng với hai byte được dành riêng cho bù đắp. Nvarchar sử dụng số byte bằng với hai lần số ký tự cộng với hai byte được dành riêng cho bù đắp.
• Tất cả các hệ điều hành hiện đại và các nền tảng phát triển sử dụng Unicode nội bộ. Vì vậy, nvarchar được sử dụng rất nhiều thay vì varchar để tránh chuyển đổi các kiểu dữ liệu.
Tóm tắt:
Nvarchar vs Varchar
Varchar và nvarchar là các loại dữ liệu có chiều dài thay đổi mà chúng ta sử dụng để lưu trữ các loại dây khác nhau. Những kiểu dữ liệu này hữu ích trong các hệ điều hành hiện đại. Những kiểu dữ liệu này tránh chuyển đổi dữ liệu từ loại này sang loại khác theo hệ điều hành. Vì vậy, varchar và nvarchar giúp lập trình để xác định chuỗi Unicode và không Unicode mà không gặp khó khăn nhiều. Hai loại dữ liệu này rất hữu ích trong lập trình.