TEXT
các đối tượng dữ liệu, như tên gọi của chúng, rất hữu ích để lưu trữ các chuỗi văn bản dạng dài trong cơ sở dữ liệu MySQL. Bốn TEXT
kiểu đối tượng dữ liệu được xây dựng để lưu trữ và hiển thị lượng thông tin đáng kể thay vì các kiểu đối tượng dữ liệu khác, hữu ích với các tác vụ như sắp xếp và tìm kiếm cột hoặc xử lý các tùy chọn dựa trên cấu hình nhỏ hơn cho một dự án lớn hơn. TEXT
khác nhau các đối tượng cung cấp một loạt không gian lưu trữ từ 1 byte đến 4 GB và không được thiết kế để lưu trữ các giá trị tính toán. Chúng ta thường thấy những thứ này được sử dụng để lưu trữ mô tả sản phẩm cho một trang web bán hàng, tóm tắt thuộc tính cho cơ sở dữ liệu realty và văn bản bài viết dài trên một trang web tin tức. TEXT
các đối tượng được sử dụng tốt nhất khi VARCHAR
và các đối tượng dữ liệu dựa trên chuỗi khác không đủ để xử lý việc lưu trữ lượng thông tin mong muốn. Tuy nhiên, TEXT
nhỏ nhất loại, TINYTEXT
, có cùng độ dài ký tự với VARCHAR
. TEXT
các đối tượng tự phân biệt với các kiểu lưu trữ chuỗi khác bằng cách loại bỏ yêu cầu chỉ định độ dài lưu trữ, không tước bỏ byte khi được chọn và không chèn thêm không gian ký tự không sử dụng để lưu trữ đĩa hiệu quả. Kể từ TEXT
các đối tượng không được lưu trữ trong bộ nhớ của máy chủ, chúng yêu cầu dữ liệu chung để truy xuất. Các kích thước sau giả sử cơ sở dữ liệu đang sử dụng mã hóa UTF-8.
TINYTEXT:255 ký tự - 255 B
TINYTEXT
đối tượng dữ liệu là đối tượng nhỏ nhất của TEXT
gia đình và được xây dựng để lưu trữ hiệu quả các chuỗi thông tin ngắn. Loại này có thể lưu trữ tối đa 255 byte (được biểu thị bằng 2 ^ 8 -1) hoặc 255 ký tự và yêu cầu tổng phí 1 byte. Đối tượng này có thể được sử dụng để lưu trữ những thứ như tóm tắt ngắn, liên kết URL và các đối tượng ngắn hơn khác. TINYTEXT
tỏa sáng trên VARCHAR
khi lưu trữ dữ liệu dưới 255 ký tự với độ dài không nhất quán và không cần được sử dụng cho tiêu chí sắp xếp.
TEXT:65,535 ký tự - 64 KB
TEXT
tiêu chuẩn đối tượng dữ liệu đủ khả năng xử lý nội dung văn bản dạng dài điển hình. TEXT
các đối tượng dữ liệu đầu ra ở mức 64 KB (được biểu thị bằng 2 ^ 16 -1) hoặc 65,535 ký tự và yêu cầu chi phí 2 byte. Nó đủ lớn để chứa văn bản cho một cái gì đó như một bài báo, nhưng sẽ không đủ để chứa toàn bộ văn bản của một cuốn sách.
MEDIUMTEXT:16,777,215 - 16 MB
MEDIUMTEXT
đối tượng dữ liệu hữu ích để lưu trữ các chuỗi văn bản lớn hơn như giấy trắng, sách và sao lưu mã. Các đối tượng dữ liệu này có thể lớn tới 16 MB (được biểu thị bằng 2 ^ 24 -1) hoặc 16,777,215 ký tự và yêu cầu 3 byte bộ nhớ trên không.
LONGTEXT:4,294,967,295 ký tự - 4 GB
LONGTEXT
đối tượng dữ liệu được sử dụng trong các trường hợp sử dụng lưu trữ chuỗi văn bản cực đoan. Đây là một tùy chọn khả thi khi MEDIUMTEXT
đối tượng không đủ lớn. Các chương trình và ứng dụng máy tính thường đạt đến độ dài văn bản trong LONGTEXT
phạm vi. Các đối tượng dữ liệu này có thể lớn tới 4 GB (được biểu thị bằng 2 ^ 32 -1) và lưu trữ lên đến 4.294.967.295 ký tự với 4 byte dung lượng lưu trữ trên đầu,
TEXT so với BLOB
BLOB
s là một loại lưu trữ dữ liệu thay thế chia sẻ cơ chế đặt tên và dung lượng phù hợp với TEXT
các đối tượng. Tuy nhiên, BLOB
s là các chuỗi nhị phân không có sắp xếp bộ ký tự, vì vậy chúng được coi là giá trị số trong khi TEXT
các đối tượng được coi là chuỗi ký tự. Sự khác biệt này rất quan trọng để phân loại thông tin. BLOB
s được sử dụng để lưu trữ các tệp dữ liệu như hình ảnh, video và tệp thực thi.
Ghi chú Sử dụng
- Sử dụng
TEXT
các trường cho các truy vấn chọn và tìm kiếm sẽ phải chịu số lần truy cập hiệu suất vì máy chủ sẽ gọi các đối tượng riêng lẻ và quét chúng trong quá trình truy vấn thay vì phân trang dữ liệu được lưu trữ trong bộ nhớ. - Việc bật SQL nghiêm ngặt sẽ thực thi độ dài ký tự tối đa và cắt bớt mọi dữ liệu đã nhập vượt quá các giới hạn đó.
-
TEXT
các cột yêu cầu độ dài tiền tố chỉ mục và không được cóDEFAULT
các giá trị, không giống nhưCHAR
vàVARCHAR
đồ vật. - Ước tính kích thước theo số lượng từ:giả sử từ tiếng Anh trung bình dài 4,5 chữ cái và cần thêm 1 ký tự cho khoảng cách. Ví dụ, một trang web bao gồm các bài báo 500 từ sẽ sử dụng trung bình khoảng 2.750 ký tự cho dữ liệu văn bản bài viết.
TINYTEXT
Dung lượng 255 ký tự không đủ cho trường hợp sử dụng này, trong khiTEXT
Dung lượng 65535 ký tự cung cấp khả năng lưu trữ cho các bài viết đạt hơn 11.900 từ dựa trên tiêu chí trung bình.