Информационные блоки+ Битрикс: Управление сайтом Максим Смирнов ведущий разработчик компании «Битрикс»
Информационные блоки+ Структура хранения Проблематика Альтернативный подход к хранению Реализация Ограничения Преимущества Оптимизация компонент
Структура хранения Типы инфоблоков b_iblock_type ID:1 Name:Каталог Инфоблоки b_iblock ID:21 IBLOCK_TYPE_ID:1 Name:Мелодии Значения свойств b_iblock_element_property ID:2001 IBLOCK_ELEMENT_ID:21 IBLOCK_PROPERTY_ID:321 VALUE: 3:34 ID:2002 IBLOCK_ELEMENT_ID:21 IBLOCK_PROPERTY_ID:322 VALUE: Пушной Свойства b_iblock_property ID:44 IBLOCK_ID:21 Name:Длительность Элементы b_iblock_element ID:321 IBLOCK_ID:21 Name:Мелодия 22
Проблематика Эффективность хранения Фрагментация значений свойств одного элемента Фильтрация по значениям свойств Выборка значений свойств Группировка по значениям свойств Невозможно создать индексы
Альтернативный подход к хранению
Реализация Новое поле VERSION Таблицы b_iblock_element_prop_mNN b_iblock_element_prop_sNN Совместимость API Кеширование значений множественных свойств Конвертер
Ограничения Сквозная выборка по инфоблокам Ограничение на количество свойств Редактирование свойств
Преимущества Выборка значений свойств в одном запросе Возможность создания индексов Множественные свойства не приводят к декартовому произведению результата
Рекомендации разработчикам Если не планируется В качестве СУБД использовать MS SQL или Oracle Более 20 свойств в инфоблоке Частое обновление значений множественных свойств Сквозные выборки Предпочтительнее использовать инфоблоки+