Possible Duplicate:
Are there disadvantages to using a generic varchar(255) for all text-based fields?

在MySQL中,您可以 Select VARCHAR字段类型的长度.可能的值为1-255.

但是,如果使用最大值VARCHAR(255)代替VARCHAR(20),它有什么好处呢?据我所知,条目的大小只取决于插入字符串的实际长度.

大小(字节)=长度+1

因此,如果在VARCHAR(255)字段中有单词"Example",那么它将有8个字节.如果您将其放在VARCHAR(20)字段中,那么它也会有8个字节.有什么关系?

我希望你能帮助我.提前谢谢!

推荐答案

退房:Reference for Varchar

简而言之,除非您的VARCHAR中的大小超过255,否则没有太大差别,这将需要另一个字节作为长度前缀.

长度表示对列中存储的数据的约束比其他任何约束都要大.这也固有地约束了列的最大存储大小.IMHO,长度相对于数据应该是有意义的.如果您存储的是社会保险号,那么将长度设置为128是没有意义的,即使如果您实际存储的都是SSN,那么在存储上也不会花费任何费用.

Database相关问答推荐

Power BI中的计数

Postgres和Oracle之间 Select 查询的结果差异

如何限制报表中返回的行数?

如何使用聚合管道从对象数组中获取正确的百分比

Rust 全局存储数据库连接

如何使用 SQL Server 中的round方法将浮点数转换为 int?

Sequel Pro / MAMP 在哪里存储本地数据库?

优雅地处理 EJB/JPA 环境中的约束冲突?

当我们需要触发程序的返回值时?

有没有办法使用 JPA 注释和 Hibernate 动态 Select @GeneratedValue 策略?

如何在 Products 表的主键和自然键之间做出决定?

如何在 VS 2012 的 SQL Server 数据库项目中存储静态数据

将所有数据库列设置为 NOT NULL 是一种好习惯吗?

哪个提供更好的性能一个大连接或多个查询?

不带 WHERE 子句的 UPDATE 查询

如何在 Google AppEngine 上实现自动增量

由多个用户编辑数据库记录

使用 PHP/MySQL 导入 CSV 数据

Oracle order NULL LAST 默认

如何使用 T-SQL 检测 SQL Server 数据库的只读状态?