【发布时间】:2009-09-30 01:20:18
【问题描述】:
我想让我的领域尽可能小,但同时我不想回头再把它们变大。
我想知道是否有一些关于常见数据库字段的字段大小和/或类型的快速参考。
即,对于电子邮件字段,什么是合理的? 50? 100?
或者这不是我应该担心的事情吗?
【问题讨论】:
标签: database-design
我想让我的领域尽可能小,但同时我不想回头再把它们变大。
我想知道是否有一些关于常见数据库字段的字段大小和/或类型的快速参考。
即,对于电子邮件字段,什么是合理的? 50? 100?
或者这不是我应该担心的事情吗?
【问题讨论】:
标签: database-design
如果你使用 VARCHAR() (或 NVARCHAR() ),你不需要太担心设置一个略高的初始值,并且在大多数 DBMS 上,没有数据丢失也没有事后增加尺寸的实际成本。
在大多数 DBMS 上在表中使用至少一个 varchar 字段是有成本的,但无论您有一个还是多个 varchar,该成本都是相同的。定义一个至少包含一个 varchar 字段的表的每行成本是名义上的(一个或两个字节),并且通常通过不存储所有这些长字符串的节省来抵消。
使用固定长度的 char 类型,至少需要 40 个字符的顺序用于电子邮件地址,因为这样长的地址并不少见,但这可能会浪费 15 到 20 个字节大多数行,因为大多数电子邮件地址的平均长度可能约为 20-25(甚至可能更短)。
所以简而言之,除非数据集的记录数超过数百万并且性能是一个主要问题,否则使用 VARCHAR 和类似类型允许不必做出艰难的选择(实际上很难改变选择),关于允许的最大值单个字段的长度。
【讨论】:
这是一个相关的帖子,可能有助于回答您的问题...
【讨论】: