我想知道MySQL如何在引擎盖下存储varchar类型?它是单独存储在表之外,还是存储为固定大小的字段(类似于2字节的unicode数组)?
发布于 2013-05-22 09:29:15
VARCHAR是存储在行本身中的可变长度字段。它存储在您使用的任何字符集中,如果您使用合理的默认字符集,通常是UTF-8。
请记住,字段的长度是最大值,而不是固定大小。VARCHAR(255)最多可以存储255个字符,在MySQL中可以转换为最多255个3字节的UTF8序列,或总共765个字节。
TEXT和BLOB类型字段存储在表的单独区域中。
在data types documentation中可以看到更多信息。
发布于 2013-05-22 09:30:00
VARCHAR列中的值是长度可变的字符串。在MySQL 5.0.3之前,长度可以指定为0到255之间的值;在5.0.3和更高版本中,长度可以指定为0到65,535之间的值。在MySQL 5.0.3和更高版本中,VARCHAR5.0.3和更高版本的有效最大长度取决于最大行大小(65,535字节,在所有列之间共享)和所使用的字符集。
请参考此链接:http://dev.mysql.com/doc/refman/5.0/en///char.html,它将告诉您char和varchar之间的区别
https://stackoverflow.com/questions/16682062
复制相似问题