通常会存储短字符串(10到40个字符)但最终会存储大量文本(500 - 1000个字符)的列中应使用哪种DataType? 保存此列的表只有三列。其中两个制作复合键和 另一个是有问题的专栏。 我不必根据此专栏进行排序或订购。
那么,我应该选择哪种DataType?
提前致谢。 抱歉我的英文。
答案 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,我会将最大数量放在远高于您想象的任何可能存在的数量上,即便如此,您也无法预测所有用例。此外,当输入文本长度大于允许的最大长度时,您仍然必须为实例编写代码处理代码。
为什么在不需要的时候加上约束?如果你不需要,为什么要编写处理代码?性能的提升真的那么多吗?