我想在MySql innoDB表中存储不同语言的短语(utf-8编码)。平均数据长度总是少于100个字,所以这将是我的最大限制(14个字符+空格),这使得每个短语的MAX长度为1500个字符。
假设MySql允许超过65000个字节,并且每个utf-8字符需要大约3或4个字节,则VARCHAR(1500)可能。 [1500个字符* 4个字节/字符= 60000个字节]
我的问题是,这与使用TEXT值有什么区别?我知道VARCHAR接受默认值(与 NULL 不同),但我需要更多的差异......什么是更好(更有效的排序等等)存储有效 - 反之亦然?
答案 0 :(得分:1)
我认为VARCHAR和TEXT之间的主要区别在于VARCHAR是固定大小的。这将使字段上的任何操作比处理任何类型的动态大小的数据更有效。
除此之外,不确定有多大区别。随意切入! :)