Оптимизировать CUser::GetList при фильтрации по группам

Рейтинг: 8.2007  
Новая
Предложил Пользователь 89019 02.11.2012 07:16:33

Оптимизировать CUser::GetList при фильтрации по группам

Детальное описание проблемы - http://dev.1c-bitrix.ru/community/forums/forum7/topic49035/
Кратко:
При фильтрации по группе, в CUser::GetList сначала делается подзапрос, выбирающий (почти) все записи из таблицы `b_user_group`. В случае, когда пользователей много, запрос начинает очень сильно тормозить. Если добавить несложную проверку на ID пользователя (при  его/их указании), то запрос можно сильно оптимизировать.

Соответственно, предлагаю эту оптимизацию провести.

В ТП мне ответили, что это редкий случай и на все такие случаи оптимизаций не напасешься, но эти изменения затронут именно эту конкретную ситуацию - я не вижу у них побочных эффектов, соответственно и причин их не внести не вижу.