Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Медленная работа CBlock::Update

00 голосов
2
Вот такой вот незатейливый код на 100 ИБ выполняется кучу времени на локалке, вызывает таймаут на сервере и вешает MySQL. Сервер не самый слабый.

Код
$rsIblock = CIBlock::GetList(
   Array(), 
   Array(
      'TYPE' => $IBType, 
      'ACTIVE' => 'Y',
   ), true
);
$ib = new CIBlock;
$arFields = Array(
   "SITE_ID" => Array("s1", "s2"),
);
while($arIblock = $rsIblock->Fetch()){
   $res = $ib->Update($arIblock["ID"], $arFields);
}


Как еще можно обновить привязку ИБ к сайтам?
спросил 28 Апр, 13 от Juliette (320 баллов)

2 Ответы

00 голосов
Черт, опять поторопился с вопросом.
Тормозит оказывается не CBlock::Update, а CIBlock::GetList из-за установленного 3-го параметра в true (подсчет кол-ва элементов в ИБ). Убрал его и все залетало ))

PS: А ведь код копировал из документации и там этот параметр стоит, непонятно зачем...
ответил 28 Апр, 13 от Juliette (320 баллов)
00 голосов
Цитата
Сергей Гордеев пишет:
PS: А ведь код копировал из документации и там этот параметр стоит, непонятно зачем...

В качестве примера...
ответил 28 Апр, 13 от JIETYHOK (2,260 баллов)

Похожие вопросы

0 голосов
2 ответов
спросил 03 Апр, 14 от Fatima (120 баллов)
0 голосов
3 ответов
спросил 23 Март, 14 от Naru (200 баллов)
0 голосов
3 ответов
спросил 20 Март, 14 от Hukto (120 баллов)
0 голосов
2 ответов
спросил 19 Март, 14 от aisigylka (100 баллов)
0 голосов
2 ответов
спросил 19 Март, 14 от Deric (120 баллов)