MySQL何时开始处理像TEXT cols这样的VARCHAR cols?

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.htmlhttp://dev.mysql.com/doc/refman/5.0/en/blob.html