Я ищу, чтобы создать модель таблицы атрибута-атрибута, где я хочу, чтобы таблица обрабатывала различные данные. Я хотел бы использовать nvarchar(max)
, но я обеспокоен тем, что это может повлиять на производительность базы данных (хотя большинство данных будет меньше 50 символов).SQL В модели EAV длина длины nvarchar?
ответ
Нет, в общем случае определенная максимальная длина столбца NVARCHAR не повлияет на производительность базы данных. Производительность может зависеть от количества данных фактически, хранящихся в записях, но это произойдет, главным образом, при индексировании столбца (что вряд ли будет в модели EAV, предполагая, что вы говорите о значении, а не атрибуте .. колонок
Я говорю «в целом», так как вы не указали, какую базу данных вы используете, и можно себе представить некоторые схемы хранения, в которых определены длины делают разницу
Какой еще db использует 'nvarchar'? – Kermit
Хорошая точка. (N) VARCHAR, в отличие от VARCHAR, это в первую очередь SQL Server (хотя он будет принят и отображен в TEXT SQLite). –
Тогда не используйте nvarchar(max)
; он будет рассматриваться как TEXT
. Вы уже используете менее оптимальную модель. Есть ли причина, по которой вы не можете использовать varchar
?
См. this thread на определенную длину по сравнению с max
.
Комментарий к whi ch, связанный (для SQL Server), указывает, что NVARCHAR (X) и NVARCHAR (MAX) обрабатываются одинаково, если длина сохраненного текста соответствует 8000 символам. Только значения, превышающие 8000 символов, будут подвергаться любому результату - и если у вас есть какие-либо из этих значений, вам понадобится NVARCHAR (> 8000). –
@LarryLustig Спасибо, что указали это. – Kermit
- 1. Как фильтровать строки в модели SQL EAV?
- 2. Переменная длина NVARCHAR со скалярнозначной функцией
- 3. Определение длины Nvarchar
- 4. EAV над SQL Server
- 5. Работа с EAV модели в Propel
- 6. Поиск объектов в модели структурированных данных EAV
- 7. Где я могу найти инструкции SQL для создания модели EAV?
- 8. Суммирование Nvarchar в SQL
- 9. SQL Полевая длина
- 10. Длина и задание длины массива
- 11. «Длина и длина» не отличаются от «длины» в Python?
- 12. Сглаживание запроса EAV SQL-запроса
- 13. Вызов функции группы на не EAV модели
- 14. Запрос на EAV SQL Design
- 15. Метеорная длина длины массива в mongodb
- 16. Длина строки значения длины строки в mongoDB
- 17. Вычислительная длина модели
- 18. Объявление nvarchar в VB/Соответствие nvarchar в SQL-запросе
- 19. SQL nvarchar Производительность
- 20. SQL сервер NVARCHAR параметры
- 21. SQL Parse NVARCHAR Поле
- 22. Размер сервера nvarchar Sql?
- 23. Средство NVARCHAR в SQL Server
- 24. SchemaExport создание/падение, NVARCHAR всегда есть длина 1
- 25. Sql Server 2008 NVARCHAR length -1
- 26. Sql Server - указатель на поле nvarchar
- 27. Вопросы SQL nvarchar
- 28. SQL Statement sorting nvarchar
- 29. Как load() работает в модели EAV в Magento 1.9.2?
- 30. EAV Solutions/Packages/Vendors?
См: [Что точка использования VARCHAR (n) больше?] (https://www.simple-talk.com/sql/database-administration/whats-the-point-of-using-varchar%28n%29-anymore/) - да, это имеет значение - и использование всех '(n) varchar (max)' действительно очень плохой дизайн IMHO –