【发布时间】:2018-03-29 07:26:17
【问题描述】:
我想创建一个引用表来存储键值对。
Id
Key
Value
问题是,我需要将文本和图像都存储为值,哪种数据类型应该更好。大多数情况下,请参考Varbinary。但我需要知道哪个是最好的。
谢谢!
【问题讨论】:
标签: sql sql-server image varbinary
我想创建一个引用表来存储键值对。
Id
Key
Value
问题是,我需要将文本和图像都存储为值,哪种数据类型应该更好。大多数情况下,请参考Varbinary。但我需要知道哪个是最好的。
谢谢!
【问题讨论】:
标签: sql sql-server image varbinary
如果只是将它们存储为单独的 fields 列会怎样?
Id bigint, Key varchar(50), ValueBlob varbinary(max),ValueString varchar(max)
【讨论】:
您必须使用varbinary(max),除非您将图像编码为base 64
Base64 是一组类似的二进制转文本编码方案,以 ASCII 字符串格式表示二进制数据
如果您不能/不会,您需要将文本数据转换为varbinary(max)
这回答了你的实际问题,但不能解决你的问题
键值表结构暗示了一种 EAV 设计,它带来了许多其他问题。
正确的解决方案:
【讨论】: