我记得前一段时间在学术界被告知,当给定 (9) 的 varchar 时,Oracle 会分配空间来实际存储 16 个字节的字符,即使它只需要 9 个。(前宽字符)
这还是一件事吗(这曾经是一件事)吗?如果我分配 nvarchar(63) 是否会最大化存储空间(假设为空字符)?它仍会占用与 nvarchar(50) 相同的空间吗?索引有什么好处吗?
我主要关注 MSSQL,但有兴趣了解任何数据库。
它不会为 nvarchar 预分配空间
空间是字符数 * 2 字节 + 2 字节的大小
如果您存储了 40 个字符,则 nvarchar(63) 和 nvarchar(50) 的大小都是相同的 82 字节
不同之处在于您不能在 nvarchar(50) 中放入 51 个字符
| 归档时间: |
|
| 查看次数: |
2206 次 |
| 最近记录: |