| Цитата |
|---|
| Игорь Семенов пишет: как там поступают |
А вы свою задачу до сих пор толком не описали. Поэтому все советы чисто умозрительные.
«Да не могут же они!»
А вы свою задачу до сих пор толком не описали. Поэтому все советы чисто умозрительные.
«Да не могут же они!»
|
|||
|
|
|
Да поля и свойства одного каталога одинаковые. |
|||
|
|
|
|
Какой у вас уровень вложенности разделов?
Могут ли элементы быть привязаны к нескольким разделам одновременно?
«Да не могут же они!»
|
|
|
|
|
|
По идее, если разнести элементы по разным инфоблокам, можно добиться прироста производительности. Но:
1) Битрикс не позволяет привязывать один и тот же элемент к нескольким инфоблокам. 2) Выборку элементов из нескольких инфоблоков с фильтрацией по свойствам можно будет сделать только на старых инфоблоках (с хранением свойств в общей таблице), что в целом не комильфо. А что у вас тормозит в текущей реализации?
«Да не могут же они!»
|
|
|
|
|
|
Да, вы правы. Потери на объединении результатов скорее всего будут больше, чем при работа в одном инфоблоке.
Что касается самих тормозов, то их пока нет - т.к. идет разработка. Я просто стараюсь архитектурно верно построить, чтобы избежать проблем с нагрузкой в будущем. |
|
|
|
|
|
Избегайте запросов с подсчётом кол-ва элементов в разделе. Такие запросы будут тормозить очень сильно.
«Да не могут же они!»
|
|
|
|
|
|
|||
|
|
|
|
Неправильно выразился.
Избегайте CIBlockSection::GetList() с подсчётом кол-ва элементов в разделах. Что касается постраничной навигации, старайтесь строить её по как можно меньшему кол-ву элементов. Постраничка по всем 300k элементам может очень сильно нагрузить ваш сервер.
«Да не могут же они!»
|
||||
|
|
|
|||