| 特性 | CHAR(N) | VARCHAR(N) | TEXT / BLOB |
|---|---|---|---|
| 長度 | 固定 0~255 字元 | 可變 0~65,535 位元組 | 4 層級至 4GB |
| 儲存方式 | 右側補空格至定長 | 1-2 位元組長度前綴 + 實際內容 | 溢位頁 (Off-page) 儲存 |
| 尾部空格 | 讀取時移除 | 保留 (5.0.3+) | 保留 |
| 大小寫轉換 | 無 | 無 | 無 |
| 字符集/校對 | 有 | 有 | TEXT 有 / BLOB 無 (二進位) |
| 預設值 | 允許 | 允許 | 不允許 |
| 索引 | 全長/前綴 | 全長/前綴 | 必須指定前綴長度 |
| 排序/比較 | 補空格比較 | 補空格比較 | TEXT 依校對規則 / BLOB 依位元組值 |
| max_sort_length 影響 | 否 | 否 | 是 (預設 1024 位元組) |
| 類型 | 最大長度 | 長度前綴 |
|---|---|---|
| TINYTEXT / TINYBLOB | 255 B | 1 位元組 |
| TEXT / BLOB | 64 KB | 2 位元組 |
| MEDIUMTEXT / MEDIUMBLOB | 16 MB | 3 位元組 |
| LONGTEXT / LONGBLOB | 4 GB | 4 位元組 |
VARCHAR 實際上限受 max_row_size (65,535 位元組) 限制,含所有欄位TEXT/BLOB 不能有 DEFAULT 值ORDER BY / GROUP BY 大欄位受 max_sort_length 限制,可用 SUBSTRING(col,1,N) 繞過max_allowed_packet 限制,雙端皆需調大LONGVARBINARYLONGVARCHAR