数据库设计中数据类型var char和text有什么区别?
主要区别在于 TEXT 的最大大小固定为 21⁶-1 = 65535 个字符。 VARCHAR 的最大大小 M 可变,最大为 M = 2^⁶-1。
VARCHAR
和TEXT
之间几乎没有什么区别。大多数并不重要。
*TEXT
、CHAR
和VARCHAR
的总结:
TINYTEXT
。CHAR
——它是固定长度的;每个字符是 CHARACTER SET
的最大长度(例如 utf8mb4 为 4 字节/字符)。CHAR
一起使用 CHARACTER SET ascii
,除非您另有了解。VARCHAR(n)
将在 n 个字符处截断; TEXT
将在一定数量的 bytes 处截断。 (但是,你想要截断吗?)*TEXT
可能会减慢复杂性SELECTs
的速度。 VARCHAR 列可以给定任意大小,但它受到单行数据(包括所有列)的最大大小的限制,即 64KB (2^⁶-1) 。TEXT 列不会添加到最大行大小,因为实际文本不与该行的其余部分一起存储。