SQL在EAV模型中,nvarchar的长度是否重要?

时间:2013-02-21 02:04:54

标签: sql entity-attribute-value nvarchar

我正在寻找一个Entity-Attribute-Value表模型,我想让表处理各种数据。我想使用nvarchar(max),但我担心它可能会影响数据库性能(即使大多数数据都不到50个字符)。

2 个答案:

答案 0 :(得分:2)

然后不要使用nvarchar(max);它将被视为TEXT。您已经使用了不太理想的模型。你有什么理由不能使用varchar吗?

请参阅this thread定义的长度与max

答案 1 :(得分:2)

不,通常,定义的NVARCHAR列的最大长度不会影响数据库的性能。性能可能会受到记录中存储的实际数据量的影响,但如果列被索引,则主要会发生这种情况(假设您正在讨论该列,则不太可能出现在EAV模型中)值而不是属性列。

我说“一般”,因为你没有指定你正在使用哪个数据库,并且可以想象一些存储方案,其中定义的长度确实有所作为。