SQL В модели EAV имеет значение длина nvarchar?

Я ищу, чтобы настроить модель таблицы Entity-Attribute-Value, где я хочу, чтобы таблица обрабатывать различные данные. Я хотел бы использовать nvarchar(max), но я беспокоюсь, что это может повлиять на производительность базы данных (даже если большинство данных будет меньше 50 символов).

2 ответа

Решение

Нет, в общем случае определенная максимальная длина столбца NVARCHAR не повлияет на производительность базы данных. На производительность может повлиять объем данных, фактически сохраненных в записях, но это в основном произойдет, если столбец будет проиндексирован (что вряд ли будет в модели EAV, если вы говорите о столбце Value, а не Attribute).

Я говорю "в общем", потому что вы не указали, какую базу данных вы используете, и можно представить некоторые схемы хранения, в которых определенная длина имеет значение.

Тогда не используйте nvarchar(max); это будет рассматриваться как TEXT, Вы уже используете неоптимальную модель. Есть ли причина, по которой вы не можете использовать varchar?

Смотрите эту тему на определенной длине против max,

Другие вопросы по тегам