Không có gì khác biệt cả, tất cả đều là varlena
(mảng có độ dài thay đổi).
Kiểm tra bài viết này từ Depesz:http://www.depesz.com/index.php/2010/03/02/charx-vs-varcharx-vs-varchar-vs-text/
Một số điểm nổi bật:
Tóm lại tất cả:
- char (n) - chiếm quá nhiều dung lượng khi xử lý các giá trị ngắn hơn
n
(đệm chúng thànhn
) và có thể dẫn đến các lỗi nhỏ do thêm dấu cách, cộng với việc thay đổi giới hạn là vấn đề- varchar (n) - có vấn đề khi thay đổi giới hạn trong môi trường trực tiếp (yêu cầu khóa riêng trong khi thay đổi bảng)
- varchar - giống như văn bản
- văn bản - đối với tôi là người chiến thắng - over (n) kiểu dữ liệu vì nó thiếu các vấn đề của chúng và hơn varchar - vì nó có tên riêng
Bài báo thực hiện kiểm tra chi tiết để cho thấy rằng hiệu suất của chèn và chọn cho cả 4 kiểu dữ liệu là tương tự nhau. Nó cũng xem xét chi tiết các cách thay thế để hạn chế độ dài khi cần thiết. Các ràng buộc hoặc miền dựa trên hàm mang lại lợi thế là tăng giới hạn độ dài tức thì và trên cơ sở rằng việc giảm giới hạn độ dài chuỗi là rất hiếm, depesz kết luận rằng một trong số chúng thường là lựa chọn tốt nhất cho giới hạn độ dài.