Ba kiểu chuỗi thường gặp:
CHAR(n)— độ dài cố định, luôn chiếmnký tự (đệm khoảng trắng nếu ngắn hơn). Hợp mã có độ dài đúng bằng nhau (mã quốc giaCHAR(2), mã hash cố định).VARCHAR(n)— độ dài thay đổi, tối đanký tự, chỉ chiếm đúng phần dùng. Kiểu phổ biến nhất cho tên, email, tiêu đề.nlà ràng buộc độ dài, không phải để tối ưu lưu trữ.TEXT— chuỗi độ dài không giới hạn (theo giới hạn thực tế của hệ). Hợp nội dung dài: mô tả, bài viết, JSON dạng text.
Lưu ý theo hệ:
- PostgreSQL: varchar(n), text lưu như nhau về hiệu năng — không có lợi ích tốc độ khi giới hạn n; chọn varchar(n) chỉ khi cần chặn độ dài, còn lại dùng text.
- MySQL: TEXT khác VARCHAR (lưu ngoài dòng, không index full nếu không chỉ định prefix) nên phân biệt rõ hơn.
Nguyên tắc chung: dùng VARCHAR/TEXT cho hầu hết; CHAR chỉ khi độ dài thực sự cố định.