Moh*_*mad 7 mysql database varchar text
我知道自MySQL 5以来,VARCHAR
可以拥有高达65,000的长度.VARCHAR以内联方式存储,这意味着更快的检索,而不是TEXT
存储在表外.也就是说,文档声明MySQL将LONG VARCHAR
完全对待TEXT
.
根据这个来源:
从存储预期BLOB,TEXT以及长VARCHAR由Innodb以相同的方式处理.这就是为什么Innodb手动将其称为"长列"而不是BLOB.
MySQL何时开始像TEXT一样处理VARCHAR?MySQL在什么字符数上做出这种区分,并且VARCHAR停止内联存储?
小智 5
简短回答:"long"VARCHAR是一个普通的VARCHAR,它将是内联的.
MySQL不会神奇地开始将直接VARCHAR视为文本类型.它将始终以内联方式存储.在5.0.3中,VARCHAR的上限被放宽到65,535字节.如果超过255个字符,它们还会占用2个字节的标头.此限制仍适用于最大行大小65,535字节.LONG VARCHAR实际上是一种与MEDIUMTEXT反向比较的不同类型.
请参阅:http://dev.mysql.com/doc/refman/5.0/en/char.html和http://dev.mysql.com/doc/refman/5.0/en/blob.html