EAV中的SQL_Variant或分隔数据类型值



我们在EAV中使用sql_variant数据类型作为值,但我认为最好为每个数据类型值使用一个表,因为sql_variant是8000字节,我担心这种数据类型会带来巨大的值。

你的想法是什么?哪一种更好?

ThanX

我意识到这个问题很老了,但我想我无论如何都会回答它。

SQL_VARIANT不是每行使用8000字节。它使用与"基本数据类型"相同的字节数+最多16个字节来存储条目的元数据。它适用于大多数EAV,并具有保留原始数据类型的额外优势。它也很快,尤其是在插入时,因为您不必转换为VARCHAR

真正的问题不在于是否在EAV中使用SQL_Variant。。。真正的问题可能是您开始使用EAV的原因。;-)

相关内容

最新更新