【问题标题】:What DataType should I pick?我应该选择什么数据类型?
【发布时间】:2010-06-21 13:27:00
【问题描述】:

应该在通常存储短字符串(10 到 40 个字符之间)但最终会存储大量文本(500 到 1000 个字符)的列中使用哪种 DataType? 包含此列的表只有三列。其中两个组成一个复合键,并且 另一个是有问题的列。 我不必根据此列进行排序或排序。

那么,我应该选择什么数据类型?

提前致谢。 对不起我的英语。

【问题讨论】:

    标签: mysql types


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢。我将其保留为 varchar(1000)。我不必超过 1000 的限制。当然,我会添加 not null 选项。再次感谢。
    【解决方案2】:

    VARCHAR(1000)

    【讨论】:

      【解决方案3】:

      当我本可以使用 TEXT 时,我仍然选择 VARCHAR。

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

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

      通常“description”只是“cell”“home”之类的东西,但有时你想输入类似“姐姐的手机,不要在紧急情况下打电话,因为她在晚上工作!” -- 那你就在小河上。

      如果您使用 VARCHAR,我将投入的最大数量远高于您对可能出现的任何情况的想象,即便如此,您也无法预测所有用例。此外,当输入文本长度大于最大允许长度时,您仍然需要编写代码处理代码。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-12-28
        • 1970-01-01
        • 1970-01-01
        • 2017-06-26
        • 1970-01-01
        相关资源
        最近更新 更多