@polupanov_ai

Сортировка getList битрикс. Стоит ли применять фильтр?

Если в инфоблоке несколько тысяч записей, какой запрос CIBlock::getList отработает быстрее, с применением arFilter или выборка всех записей?
  • Вопрос задан
  • 386 просмотров
Пригласить эксперта
Ответы на вопрос 2
gromdron
@gromdron
Работаю с Bitrix24
Если в инфоблоке несколько тысяч записей, какой запрос CIBlock::getList отработает быстрее, с применением arFilter или выборка всех записей?


Если брать исходную постановку запроса: для CIBlock::getList без разницы сколько записей в самом инфоблоке, потому как Вы выбираете не элементы, а сами инфоблоки.
Если речь идет о CIblockElement::getList(), то запрос не корректный.

1) Для начала нужно понять что Вы делаете с записями. Время запроса сильно не изменится, а вот время обработки результата может "гулять" значительно.
То есть, если Вы выводите на экран 1 тысячу значений и 1 миллион значений, то время будет существенным.

2) Затем нужно понять, используете Вы сложный фильтр или простой.
Например в инфоблоке у Вас 1 тысяча записей. Скажите, проще будет достать все? Или достать все, у которых этот параметр такой, такой или такой, а вот это параметр такой и такой, но только если дата в диапазоне от такого-то до такого-то и сегодня четверг.
При небольших объемах, выбрать все элементы будет быстрее чем использовать фильтр по элементу, особенно если там есть логические операторы AND/OR, при этом с LIKE, да еще и множественными свойствами по инфоблоку 1.0
Ответ написан
Комментировать
IJIL
@IJIL
Включи отладку на панели и ты увидишь что отрабатывает быстрей
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы