应该在通常会存储一个短字符串(10到40个字符)的列中使用哪种DataType,但最终会存储大量文本(500 - 1000个字符)? 包含此列的表只有三列。其中两个是复合键,另一个是有问题的列。 我不需要根据此列进行排序或订购。我应该选择什么DataType?
那么,我应该选择什么DataType?
在此先感谢。 对不起,我的英语。
应该在通常会存储一个短字符串(10到40个字符)的列中使用哪种DataType,但最终会存储大量文本(500 - 1000个字符)? 包含此列的表只有三列。其中两个是复合键,另一个是有问题的列。 我不需要根据此列进行排序或订购。我应该选择什么DataType?
那么,我应该选择什么DataType?
在此先感谢。 对不起,我的英语。
这是VARCHAR (1000)
之间胜负难料(你可能需要它是大于1000),并且只使用TEXT
。我不知道你是否需要NOT NULL
,但显然如果你需要的话就补充一点。
请注意,如果您制作了VARCHAR
,那么您将对列大小施加一定的限制。只有当你知道你不会超过这个尺寸时才使用VARCHAR
。如果你可能有异常值,那就去TEXT
。
VARCHAR(1000)
我仍然在踢我自己选择VARCHAR,当我可以使用TEXT。
例如,我有电话号码表:
number VARCHAR(50) ,
description VARCHAR(100) ,
通常,“说明”只是像“细胞”或“家”,但有时你想输入的东西像“姐姐的手机,不要在紧急情况下打电话,因为她工作的夜晚!!” - 然后你上了小溪。
如果你使用VARCHAR,那么我会把最大的数额放在你想象的任何可能到达的地方,即使如此,你也无法预测所有的用例。此外,当输入文本长度大于最大允许长度时,您仍然必须为实例编写代码处理代码。
为什么在不需要的时候限制?如果你不需要,为什么写处理代码?性能增益真的如此重要吗?
谢谢。我将保持它作为varchar(1000)。 我不必超过1000的限制。 当然,我会添加非空选项。 再次感谢。 – Juliano 2010-06-21 14:00:14