Varchar vs Nvarchar
Sự khác biệt giữa varchar và nvarchar cho biết 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 xác định bởi các kiểu dữ liệu. Một kiểu dữ liệu cho biết rằng một cột có thể chứa loại giá trị nào. Mỗi cột trong bảng cơ sở dữ liệu phải có tên và kiểu dữ liệu. Ngày nay, có rất nhiều kiểu 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ó những ưu điểm 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à một ký tự khác nhau hoặc các ký tự khác nhau. Cú pháp của varchar là VARCHAR [(n | max)]. Varchar lưu trữ dữ liệu ASCII không phải là dữ liệu Unicode và nó là kiểu dữ liệu được sử dụng trong việc sử dụng bình thường. Varchar sử dụng một byte cho mỗi ký tự. Nó cũng lưu trữ độ dài của mỗi chuỗi trong cơ sở dữ liệu. Varchar có độ dài dữ liệu thay đổi và có thể lưu trữ tối đa 8000 ký tự không phải 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à kích thước lưu trữ thực của dữ liệu là chiều dài thực của dữ liệu cộng với hai byte. Mặc dù varchar chậm hơn char, nhưng nó sử dụng cấp phát bộ nhớ động. Không chỉ chuỗi, mà cả các loại không phải chuỗi, chẳng hạn như loại ngày, “ngày 14 tháng 2”, “ngày 11 tháng 12 năm 2014” cũng có thể được lưu trữ trong kiểu dữ liệu varchar.
Nvarchar là gì?
Nvarchar gợi ý một đặc điểm khác nhau của quốc gia hoặc một đặc điểm khác nhau của quốc gia. 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 độ dài khác nhau. Chúng là dữ liệu Unicode và dữ liệu đa ngôn ngữ và ngôn ngữ với các ký tự byte kép giống như trong tiếng Trung. 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 là 4000 ký tự và độ dài tối đa là 2 GB. Nvarchar coi “” là chuỗi rỗng và độ dài ký tự bằng không. Kích thước bộ nhớ gấp đôi số ký tự cộng với hai byte. Trong nvarchar, các dấu cách ở cuối 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 cho biết 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 trữ 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)] lưu trữ các ký tự không phải Unicode với độ dài thay đổi và Nvarchar [(n)] lưu trữ các ký tự Unicode có độ 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 tốt hơn nên sử dụng ở những nơi có các biến có ký tự không phải Unicode. Nvarchar được sử dụng ở những nơi có các ký tự Unicode khác nhau.
• Kích thước lưu trữ của varchar là số byte bằng số ký tự cộng với hai byte được dành để bù đắp. Nvarchar sử dụng số byte bằng hai lần số ký tự cộng với hai byte được dành riêng cho phần bù.
• Tất cả các hệ điều hành và nền tảng phát triển hiện đại đều sử dụng Unicode trong nội bộ. Do đó, nvarchar được sử dụng nhiều hơn là varchar để tránh chuyển đổi kiểu dữ liệu.
Tóm tắt:
Nvarchar vs Varchar
Varchar và nvarchar là các kiểu dữ liệu có độ dài thay đổi mà chúng tôi sử dụng để lưu trữ các loại chuỗi khác nhau. Các kiểu dữ liệu này rất hữu ích trong các hệ điều hành hiện đại. Các kiểu dữ liệu đa dạng này tránh việc chuyển đổi dữ liệu từ kiểu này sang kiểu khác tùy theo hệ điều hành. Do đó, varchar và nvarchar giúp lập trình viên xác định các chuỗi Unicode và không phải Unicode mà không gặp nhiều khó khăn. Hai kiểu dữ liệu này rất hữu ích trong lập trình.