设置数据库类型字符限制的重要性
Importance of setting database type character limits
我一直被教导说,在创建数据库时,我将数据库类型设置为该字段中的最大字符数 - 例如 int(2)
。
然而,正如我们所知,由于数据长度如此之多,有时这可能是未知的。
它真的是必须的还是我们可以设置为 255
。如果需要,是否有人知道指南或网站明确列出了 "general" 特定字段的字符限制?
设置太小的大小限制的主要缺点是您无法容纳真正需要存储的数据。理解这一点的最简单方法是回顾 Y2K 问题。许多早期构建的系统以两位数字存储日期的年份部分。设计者可能认为他们的系统会在成为问题之前被丢弃。但大约在 1999 年 10 月,经理们开始担心有多少系统会在新年来临之际出现故障。您可能面临的问题是类似的,尽管范围可能更小。
设置比您真正需要的大小限制大得多的大小限制有两个主要缺点。首先是浪费计算机资源。这可能导致需要更多磁盘 space,或为紧急事务产生更多延迟时间。
您还冒着允许本应被拒绝的数据的风险。许多程序员更喜欢将所有数据完整性检查放在他们的应用程序中,而不是依赖 DBMS 来完成相同的工作。选择 DBMS 或应用程序,或同时选择两者以确保数据完整性的原因有多种。但是,如果您因对 DBMS 的实际工作方式的无知而受到限制,您可能会伤害自己。
没有一揽子规则。了解您的需求,为您设计方案。
我一直被教导说,在创建数据库时,我将数据库类型设置为该字段中的最大字符数 - 例如 int(2)
。
然而,正如我们所知,由于数据长度如此之多,有时这可能是未知的。
它真的是必须的还是我们可以设置为 255
。如果需要,是否有人知道指南或网站明确列出了 "general" 特定字段的字符限制?
设置太小的大小限制的主要缺点是您无法容纳真正需要存储的数据。理解这一点的最简单方法是回顾 Y2K 问题。许多早期构建的系统以两位数字存储日期的年份部分。设计者可能认为他们的系统会在成为问题之前被丢弃。但大约在 1999 年 10 月,经理们开始担心有多少系统会在新年来临之际出现故障。您可能面临的问题是类似的,尽管范围可能更小。
设置比您真正需要的大小限制大得多的大小限制有两个主要缺点。首先是浪费计算机资源。这可能导致需要更多磁盘 space,或为紧急事务产生更多延迟时间。
您还冒着允许本应被拒绝的数据的风险。许多程序员更喜欢将所有数据完整性检查放在他们的应用程序中,而不是依赖 DBMS 来完成相同的工作。选择 DBMS 或应用程序,或同时选择两者以确保数据完整性的原因有多种。但是,如果您因对 DBMS 的实际工作方式的无知而受到限制,您可能会伤害自己。
没有一揽子规则。了解您的需求,为您设计方案。