存储长十六进制值

Storing long hex value

存储超过 1500 个字符的长十六进制字符串的最佳方法是什么?

最好的类型是什么?

  1. 字节
  2. 文字
  3. 长文本
  4. 可变字符
  • BINARY 有固定的填充和最大长度 255 字节, 所以这对你没有好处。
  • VARCHARTEXT 的最大长度均为 65535 字节 (64kB) 并使用 2 个额外的字节 来存储数据的长度。
  • LONGTEXT 的最大长度为 4294967295 字节 (4GB) 并使用 4 个额外的字节 来存储数据的长度。

如果您知道您的 HEX 字符串中的数据总是少于 64kB,我会选择 TEXT,否则选择 LONGTEXT

如果你把它打包成字节(从十六进制),那么VARBINARY(...)BLOB

如果将其保留为十六进制,VARCHAR(...) CHARACTER SET asciiTEXT CHARACTER SET ascii。我特别提到 ascii 如果您的默认设置是 utf8;十六进制数字不需要 utf8。