我应该选择哪种数据类型?

时间:2010-06-21 13:27:00

标签: mysql types

通常会存储短字符串(10到40个字符)但最终会存储大量文本(500 - 1000个字符)的列中应使用哪种DataType? 保存此列的表只有三列。其中两个制作复合键和 另一个是有问题的专栏。 我不必根据此专栏进行排序或订购。

那么,我应该选择哪种DataType?

提前致谢。 抱歉我的英文。

3 个答案:

答案 0 :(得分:2)

这是VARCHAR (1000)(你可能需要它大于1000)和仅使用TEXT之间的折腾。我不知道你是否需要NOT NULL,但显然如果你需要的话就加上它。

请注意,如果您将其设为VARCHAR,则会对列大小施加明确的限制。只有在您确定不会超过该尺寸时才使用VARCHAR。如果您可能有异常值,请使用TEXT

答案 1 :(得分:0)

VARCHAR(1000)

答案 2 :(得分:0)

当我使用TEXT时,我仍在努力选择VARCHAR。

例如,我有一个电话号码表:

number      VARCHAR(50) , 
description VARCHAR(100) ,

通常情况下,“描述”就像“cell”“home”,但有时候你想键入类似“姐姐的手机,因为她晚上工作所以不要在遇到紧急情况时打电话!“ - 那么你就是一条小溪。

如果您使用VARCHAR,我会将最大数量放在远高于您想象的任何可能存在的数量上,即便如此,您也无法预测所有用例。此外,当输入文本长度大于允许的最大长度时,您仍然必须为实例编写代码处理代码。

为什么在不需要的时候加上约束?如果你不需要,为什么要编写处理代码?性能的提升真的那么多吗?