我的服务器有我的SQL版本5.0.91-community,现在我必须存储一个长度约500字符或多或少的字符串,我想用文本数据类型去,但后来有人告诉我它会降低性能,我想知道更多关于varchar的知识,并且它是有限的。关于varchar数据类型的困惑
我曾经认为varchar仅限于255个字符,但随后我在某处读到它能够存储更多的那个在新版本中,即> = 5.0.3,因为我使用的是5.0.91你认为我应该用吗?如果我使用它像varchar(1000)它仍然有效?
谢谢。
我的服务器有我的SQL版本5.0.91-community,现在我必须存储一个长度约500字符或多或少的字符串,我想用文本数据类型去,但后来有人告诉我它会降低性能,我想知道更多关于varchar的知识,并且它是有限的。关于varchar数据类型的困惑
我曾经认为varchar仅限于255个字符,但随后我在某处读到它能够存储更多的那个在新版本中,即> = 5.0.3,因为我使用的是5.0.91你认为我应该用吗?如果我使用它像varchar(1000)它仍然有效?
谢谢。
的文档here,
注意,有效大小更小,
在MySQL 5.0.3及更高版本中,VARCHAR的有效最大长度为 是 受限于最大行大小 (65,535字节,它在 所有列中共享)和使用的字符集 。
您必须指定最大尺寸,例如, varchar(1000)
。只是说明varchar
是不够的。
从在VARCHAR列The CHAR and VARCHAR Types
值是 可变长度字符串。长度 可以指定为0到 65,535之间的值。 VARCHAR的有效最大长度为 受限于行大小的最大值(65,535字节,即所有列之间共享的 )以及使用的 字符集。
我之前看到过,因为它没有在那里清楚地提到而感到困惑。仍然感谢你为我所感谢的努力。 :) – 2010-10-07 08:58:02
在MySQL中,VARCHAR最多接受65535个字符。
根据MySQL的DOC:
TEXT从VARCHAR不同之处在于以下方面:
除了这些差异之外,像使用TEXT一样使用VARCHAR,所以大小的问题并不是应该让您在这两者之间进行选择,除非您确实需要存储不超过1000个字符。
你可以保证你自己很容易。 MySQL文档被公开访问,它说
作为性能问题,也没关系。不是数据类型,但数据关系影响性能。
好吧,是不是varchar意味着动态地利用存储?如果是的话,我可以将它定义为VARCHAR,还是必须提及我要使用多少个字符?像VARCHAR(1000) – 2010-10-07 09:00:02