Ba loại mà họ đang nói đến là char(n)
, varchar(n)
và text
. Về cơ bản, mẹo nói rằng:
-
char(n)
là chậm nhất do khoảng đệm trống và phải kiểm tra giới hạn độ dài. -
varchar(n)
thường ở giữa vì giới hạn độ dài cần được kiểm tra. -
text
(AKAvarchar
không cón
) thường là nhanh nhất vì không có thêm chi phí.
Ngoài phần đệm trống cho char(n)
và kiểm tra độ dài cho char(n)
và varchar(n)
, tất cả chúng đều được xử lý như nhau ở hậu trường.
Với ActiveRecord, t.string
là một varchar
và t.text
là text
. Nếu bạn không có bất kỳ ràng buộc độ dài cứng nào đối với chuỗi của mình thì chỉ cần sử dụng t.text
với PostgreSQL.