Char vs Varchar
Char và Varchar là các kiểu dữ liệu ký tự thường được sử dụng trong hệ thống cơ sở dữ liệu trông giống nhau mặc dù có sự khác biệt giữa chúng khi nói đến yêu cầu lưu trữ. Trong thiết kế cơ sở dữ liệu, có rất nhiều kiểu dữ liệu được sử dụng. Ngoài ra, các kiểu dữ liệu ký tự có một vị trí nổi bật hơn vì chúng được sử dụng để lưu trữ nhiều thông tin so với các con số. Các kiểu dữ liệu ký tự được sử dụng để lưu trữ các ký tự hoặc dữ liệu chữ và số trong chuỗi. Loại bộ ký tự cơ sở dữ liệu được xác định khi tạo cơ sở dữ liệu. Một lần nữa, trong số các kiểu dữ liệu ký tự này, Char và Varchar là những kiểu thường được sử dụng. Bài viết này giải thích hai kiểu dữ liệu này, char và varchar, là gì và sự khác biệt giữa chúng.
Char là gì?
Định nghĩa ISO của char là một ký tự và kiểu dữ liệu char được sử dụng để lưu trữ một ký tự. Char (n) có thể lưu trữ n kích thước cố định của ký tự. Số ký tự tối đa mà một char (n) có thể chứa là 255 ký tự và độ dài chuỗi phải là giá trị từ 1 đến 8000. Char nhanh hơn năm mươi phần trăm so với varchar và do đó, chúng tôi có thể đạt được hiệu suất tốt hơn khi làm việc với ký tự. Char sử dụng cấp phát bộ nhớ tĩnh khi lưu trữ dữ liệu. Khi chúng ta muốn lưu trữ các chuỗi với độ dài cố định đã biết, tốt hơn là sử dụng char. Ví dụ: khi lưu trữ ‘Yes’ và ‘No’ dưới dạng ‘Y’ và ‘N’, chúng ta có thể sử dụng kiểu dữ liệu char. Và cũng như khi lưu trữ số chứng minh thư quốc gia của một người có mười ký tự, chúng tôi có thể sử dụng kiểu dữ liệu là char (10).
Varchar là gì?
Như tên cho thấy, varchar được gọi là một ký tự biến. Varchar được sử dụng để lưu trữ dữ liệu chữ và số có độ dài thay đổi. Số ký tự tối đa mà loại dữ liệu này có thể chứa là 4000 ký tự và kích thước lưu trữ tối đa là 2 GB. Kích thước lưu trữ của varchar là độ dài thực của dữ liệu cộng với hai byte. Varchar chậm hơn char và nó sử dụng cấp phát bộ nhớ động khi lưu trữ dữ liệu. Chúng tôi có thể sử dụng varchar khi lưu trữ dữ liệu như tên, địa chỉ, mô tả, v.v. Không chỉ chuỗi, mà cả các loại không phải chuỗi như loại ngày, “ngày 12 tháng 3 năm 2015”, “ngày 12 tháng 3 năm 2015” cũng có thể được lưu trữ trong kiểu dữ liệu varchar.
Sự khác biệt giữa Char và Varchar là gì?
• Mặc dù char và varchar là các trường dữ liệu ký tự, nhưng char là trường dữ liệu có độ dài cố định và varchar là trường dữ liệu có kích thước thay đổi.
• Char chỉ có thể lưu trữ các ký tự chuỗi không phải Unicode có kích thước cố định, nhưng varchar có thể lưu trữ các kích thước thay đổi của chuỗi.
• Char tốt hơn varchar cho dữ liệu thường xuyên thay đổi. Điều này là do hàng dữ liệu có độ dài cố định không dễ bị phân mảnh.
• Char sẽ chỉ chiếm không gian cố định được xác định khi khai báo biến. Nhưng varchar sẽ chiếm không gian dựa trên dữ liệu được chèn vào và nó cũng sẽ chiếm 1 hoặc 2 byte làm tiền tố độ dài.
• Nếu dữ liệu ít hơn 255 ký tự, 1 byte được cấp phát và nếu dữ liệu nhiều hơn 255 ký tự thì 2 byte được dành riêng. Nếu chúng ta sử dụng một char để lưu trữ cờ 'Y' và 'N', nó sẽ sử dụng một byte để lưu trữ, nhưng khi chúng ta sử dụng varchar, sẽ mất hai byte để lưu trữ cờ bao gồm một byte phụ làm tiền tố độ dài.
Tóm tắt:
Char vs Varchar
Char và varchar là kiểu dữ liệu ký tự được sử dụng nhiều nhất trong cơ sở dữ liệu. Char được sử dụng để lưu trữ một chuỗi có độ dài cố định trong khi varchar được sử dụng để lưu trữ các chuỗi có độ dài thay đổi. Để có được hiệu suất tốt hơn từ dữ liệu, điều quan trọng hơn là chọn đúng kiểu dữ liệu cho các trường của bảng trong cơ sở dữ liệu của bạn. Sẽ thuận tiện hơn khi sử dụng các kiểu dữ liệu nhỏ nhất có thể lưu trữ dữ liệu một cách chính xác, vì chúng chiếm ít dung lượng hơn từ bộ nhớ.