SQL В модели EAV имеет значение длина nvarchar?
Я ищу, чтобы настроить модель таблицы Entity-Attribute-Value, где я хочу, чтобы таблица обрабатывать различные данные. Я хотел бы использовать nvarchar(max)
, но я беспокоюсь, что это может повлиять на производительность базы данных (даже если большинство данных будет меньше 50 символов).
2 ответа
Нет, в общем случае определенная максимальная длина столбца NVARCHAR не повлияет на производительность базы данных. На производительность может повлиять объем данных, фактически сохраненных в записях, но это в основном произойдет, если столбец будет проиндексирован (что вряд ли будет в модели EAV, если вы говорите о столбце Value, а не Attribute).
Я говорю "в общем", потому что вы не указали, какую базу данных вы используете, и можно представить некоторые схемы хранения, в которых определенная длина имеет значение.
Тогда не используйте nvarchar(max)
; это будет рассматриваться как TEXT
, Вы уже используете неоптимальную модель. Есть ли причина, по которой вы не можете использовать varchar
?
Смотрите эту тему на определенной длине против max
,