我正在设计一个 MySQL 表,该表将包含一行,其中包含可变长度的主题标题,但可能在 40-100 个字符之间。VARCHAR 是显而易见的选择,但我不清楚如何在效率与确保捕获所有数据之间取得平衡。我可以将它声明为 VARCHAR(256) 并且非常安全,或者我可以将其声明为 VARCHAR(512) 并且非常安全。据我了解,VARCHAR 只存储您放入其中的内容,那么为什么我们不一直使用 VARCHAR(max) 呢?是否只是为了防止超过 65,535 字节的行大小限制,其中包括行中的所有列?当您对像这样的字符串长度的上限有大致了解时,最佳设计实践是什么?
有些人不明白这个问题。我在问为什么要对 VARCHAR 指定一个不是最大值的限制。我知道什么是 VARCHAR,什么是 max,等等。