varchar
因此,如果长度小于 255,许多数据库会将字段的长度前缀存储在 1 个字节中,如果长度超过 255 个字节,则将其存储在 2 个字节中。例如,MySQL 文档说:
与 CHAR 相比,VARCHAR 值存储为 1 字节或 2 字节长度前缀加上数据。长度前缀表示值中的字节数。如果值需要不超过 255 个字节,则一列使用一个长度字节,如果值可能需要超过 255 个字节,则使用两个长度字节。
我想知道Redshift是否也是如此?我已经搜索了文档,但我一生都找不到它!
顺便说一句,我问这个问题是因为一位同事为大多数字段构建了我们的整个数据仓库varchar(256)
- 短字段长度的所有限制,没有 1 字节长度存储的好处(除非 Redshift 无论如何都使用 2 字节)。