我有一个 contacts表,其中包含字段,如 postcode,first name,last name,town,country,phone number等,所有这些字段都被定义为 VARCHAR(255),即使这些字段将永远不会接近有255个字符。(如果您想知道,这是因为 Ruby on Rails 迁移默认将 String 字段映射到 VARCHAR(255),而我从未费心去覆盖它)。
因为 VARCHAR 只存储字段的实际字符数(以及字段长度) ,所以使用 VARCHAR(16)比使用 VARCHAR(255)有什么明显的优势(性能或其他方面)吗?
此外,这些字段中的大多数都有索引。字段中较大的 VARCHAR 大小是否会影响索引的大小或性能?
仅供参考,我正在使用 MySQL5。