我有一个contacts包含字段,如表postcode,first name,last name,town,country,phone number等等,所有这些都被定义为VARCHAR(255)即使没有这些领域都不会接近有255个字符.(如果你想知道,就是这样,因为Ruby on Rails迁移VARCHAR(255)默认情况下将字符串字段映射到我并且我从不打扰覆盖它).
由于VARCHAR只会领域的实际字符的数目存储(连同字段长度),是否有任何明显的优势(性能或其他方式)使用,比方说,VARCHAR(16)在VARCHAR(255)?
此外,大多数这些字段都有索引.字段上的较大VARCHAR大小是否会影响索引的大小或性能?
仅供我使用MySQL 5.
在MYSQL中,您可以为VARCHAR字段类型选择长度.可能的值为1-255.
但是如果你使用最大的VARCHAR(255)而不是VARCHAR(20),它有什么优势?据我所知,条目的大小仅取决于插入字符串的实际长度.
size(字节)=长度+ 1
因此,如果在VARCHAR(255)字段中有"示例"一词,则它将具有8个字节.如果你在VARCHAR(20)字段中有它,它也会有8个字节.有什么不同?
我希望你能帮助我.提前致谢!