gpt4 book ai didi

sql-server - 如果里面的字符串比最大长度短,一个 nvarchar 列占用多少磁盘空间

转载 作者:行者123 更新时间:2023-12-04 01:36:28 24 4
gpt4 key购买 nike

我想知道每条记录的 nvarchar(N) 列在硬盘中会占用多少空间。它会占用 2 x N 字节(每个字符占用两个字节)还是会占用不同数量的字节,具体取决于每条记录中的数据?

例如,我可以有一个只有一列类型为 nvarchar(100) 的表格,其中包含如下数字:

 0000000000
0000000001
.....
9999999999

我有 100 亿 (10^10) 条记录,每条记录有 10 个字符。硬盘会占用多少空间? 20Gb? 200Gb?

最佳答案

nvarchar(n) 列使用 (2 * 实际长度) + 2 个字节 的存储空间 - 总是 每个字符 2 个字节,否无论存储什么。

因此,如果您在 nvarchar(100) 列中存储 10 位数字,则每个字符串都使用 2*10+2 = 22 bytes

但是,如果您只存储数字 - 为什么还要使用 nvarchar?数字应该存储在数字列中......或者如果你不能,那么至少使用 varchar 这将 一半 存储要求(1 个字符/数字 = 1 个字节)

关于sql-server - 如果里面的字符串比最大长度短,一个 nvarchar 列占用多少磁盘空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49530727/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com