存储长十六进制值
Storing long hex value
存储超过 1500 个字符的长十六进制字符串的最佳方法是什么?
最好的类型是什么?
- 字节
- 文字
- 长文本
- 可变字符
BINARY
有固定的填充和最大长度 255 字节,
所以这对你没有好处。
VARCHAR
和 TEXT
的最大长度均为
65535 字节 (64kB) 并使用 2 个额外的字节 来存储数据的长度。
LONGTEXT
的最大长度为 4294967295 字节 (4GB)
并使用 4 个额外的字节 来存储数据的长度。
如果您知道您的 HEX 字符串中的数据总是少于 64kB,我会选择 TEXT
,否则选择 LONGTEXT
。
如果你把它打包成字节(从十六进制),那么VARBINARY(...)
或BLOB
。
如果将其保留为十六进制,VARCHAR(...) CHARACTER SET ascii
或 TEXT CHARACTER SET ascii
。我特别提到 ascii 如果您的默认设置是 utf8;十六进制数字不需要 utf8。
存储超过 1500 个字符的长十六进制字符串的最佳方法是什么?
最好的类型是什么?
- 字节
- 文字
- 长文本
- 可变字符
BINARY
有固定的填充和最大长度 255 字节, 所以这对你没有好处。VARCHAR
和TEXT
的最大长度均为 65535 字节 (64kB) 并使用 2 个额外的字节 来存储数据的长度。LONGTEXT
的最大长度为 4294967295 字节 (4GB) 并使用 4 个额外的字节 来存储数据的长度。
如果您知道您的 HEX 字符串中的数据总是少于 64kB,我会选择 TEXT
,否则选择 LONGTEXT
。
如果你把它打包成字节(从十六进制),那么VARBINARY(...)
或BLOB
。
如果将其保留为十六进制,VARCHAR(...) CHARACTER SET ascii
或 TEXT CHARACTER SET ascii
。我特别提到 ascii 如果您的默认设置是 utf8;十六进制数字不需要 utf8。