我们在EAV中使用sql_variant
数据类型作为值,但我认为最好为每个数据类型值使用一个表,因为sql_variant
是8000字节,我担心这种数据类型为了巨大的价值。
你的想法是什么?哪个更好?
THANX
答案 0 :(得分:0)
我意识到这个问题已经很老了,但我还以为我还是会回答它。
SQL_VARIANT
每行不使用8000个字节。它使用与"基本数据类型相同的字节数" +最多16个字节来存储条目的元数据。它适用于大多数EAV,并具有保留原始数据类型的附加优势。它也非常快,尤其是在插入时,因为您不必转换为VARCHAR
。
真正的问题不在于是否在EAV中使用SQL_Variant
......真正的问题可能是你开始使用EAV的原因。 ; - )