Преимущества использования модели EAV (Entity-Attribute-Value):
- Гибкая и универсальная структура данных. lvee.org Можно менять количество свойств без изменения полей в таблицах. lvee.org
- Относительная простота при добавлении или изменении характеристик. lvee.org Например, можно создать один товар из нескольких уже существующих. lvee.org
- При правильной реализации избыточность данных почти отсутствует. lvee.org
Некоторые недостатки использования модели EAV:
- Сложность запросов. www.isa.ru systems.education Для работы с данными в модели EAV нужны сложные JOIN, вложенные и рекурсивные запросы. systems.education Не все СУБД поддерживают подобные запросы одинаково хорошо, из-за чего страдает производительность системы. systems.education
- Высокая нагрузка на сервер. lvee.org Это происходит из-за невозможности применения стандартных способов индексации и медленной выборки данных в случае реализации с большим количеством таблиц. lvee.org
- Сложность соблюдения целостности данных. www.isa.ru portfolio.vvsu.ru В результате ухудшается их качество. www.isa.ru
Модель EAV рекомендуется использовать в случаях, когда характеристики данных очень динамичны и часто изменяются, а ресурсы сервера не ограничены. lvee.org