Một VARCHAR dài được lưu trữ theo cách tương tự như một TEXT / BLOB trường trong InnoDB .
Trừ khi bạn cần lập chỉ mục các cột này (trong trường hợp đó là VARCHAR nhanh hơn nhiều) không có lý do gì để sử dụng VARCHAR qua TEXT cho các trường dài - có một số tối ưu hóa công cụ cụ thể trong MySQL để điều chỉnh truy xuất dữ liệu theo độ dài và bạn nên sử dụng loại cột chính xác để tận dụng lợi thế của chúng.
Trong trường hợp bạn đang sử dụng MyISAM thảo luận chuyên sâu về chủ đề này tại đây .
TEXT và BLOB được lưu trữ ngoài bảng với bảng chỉ có một con trỏ đến vị trí của bộ nhớ thực sự.
VARCHAR được lưu trữ nội tuyến với bảng. VARCHAR nhanh hơn khi kích thước hợp lý.
Theo kiểm tra này
, VARCHAR nhanh gấp ba lần so với văn bản.