Интранет (intranet) - 17.2.15
В базе данных 19к пользователей и 5к подразделений (не все они нужны в работе компании, но они нужны для информации)
Документации нет!
полностью вычищает свою таблицу, делают выборку всех пользователей, делают выборку всех подразделений, и записывает новые записи в свою таблицу. И так каждый раз при обновлении подразделения
выполняет жуткий запрос который выполняется 45 сек!. И так каждый раз при обновлении подразделения
300 подразделений обновляется "скопом" очень очень долго ! Раньше такого не было !
Нашел несколько методов
\Bitrix\Intranet\Internals\UserSubordinationTable::delayReInitialization();
\Bitrix\Intranet\Internals\UserToDepartmentTable::delayReInitialization();
Эти методы выключают всё это безобразие
и
\Bitrix\Intranet\Internals\UserSubordinationTable::performReInitialization();
\Bitrix\Intranet\Internals\UserToDepartmentTable::performReInitialization();
не знаю что делает , перегенерирует похоже, нашел в компоненте обмена с 1c ЗУП!
Но осталась проблема когда изменяют или удаляют подразделения в админке !
Объясните зачем эти UserSubordinationTable и UserToDepartmentTable (документации нет) и как вы думаете , нормально ли так программировать, скорее всего я чего то не понимаю, хотелось бы понять !
В базе данных 19к пользователей и 5к подразделений (не все они нужны в работе компании, но они нужны для информации)
Документации нет!
полностью вычищает свою таблицу, делают выборку всех пользователей, делают выборку всех подразделений, и записывает новые записи в свою таблицу. И так каждый раз при обновлении подразделения
выполняет жуткий запрос который выполняется 45 сек!. И так каждый раз при обновлении подразделения
300 подразделений обновляется "скопом" очень очень долго ! Раньше такого не было !
Нашел несколько методов
\Bitrix\Intranet\Internals\UserSubordinationTable::delayReInitialization();
\Bitrix\Intranet\Internals\UserToDepartmentTable::delayReInitialization();
Эти методы выключают всё это безобразие
и
\Bitrix\Intranet\Internals\UserSubordinationTable::performReInitialization();
\Bitrix\Intranet\Internals\UserToDepartmentTable::performReInitialization();
не знаю что делает , перегенерирует похоже, нашел в компоненте обмена с 1c ЗУП!
Но осталась проблема когда изменяют или удаляют подразделения в админке !
Объясните зачем эти UserSubordinationTable и UserToDepartmentTable (документации нет) и как вы думаете , нормально ли так программировать, скорее всего я чего то не понимаю, хотелось бы понять !