API.
$res = Bitrix\Main\UserTable::getList(Array(
"select"=>Array("ID","NAME"),
"filter"=>['ID' => 54],
"order" => [
'ID' => 'ASC'
]
));
while ($arRes = $res->fetch()) {}
0.0076210498809814
$rsUsers = CUser::GetList(
($by="id"),
($order="asc"),
$arFilter,
['FIELDS' => ['ID', 'NAME']]
);
while ($arUsers = $rsUsers->fetch()) {}
0.00077199935913086
В 10 раз разница.
Что-то не так с первым скриптом или d7 в 10 раз медленнее?
Если д7 медленней, то зачем все ищут разрабов на нём и переписывают свои компоненты на д7?
Может там проверка прав. Посмотри внутрь на этот метод
на D7 пишут не потому, что он быстрее. В данном случае единичный запрос - не показатель, надо погонять побольше и собрать статистику. Ещё можно сделать одно сравнение с ->fetchObject() вместо ->fetch().
Обсуждают сегодня