Требуется разработчик! Поддержка серверов

CIBlockElement::GetList

Антон Долганин ( ' " <u>test2</u> " ')

Антон Долганин ( ' " <u>test2</u> " ') -> Bxapi
11.03.2016 14:47
CIBlockElement::GetList
Два простых правила оптимизации самого популярного запроса:
  1. Не используется getNext без надобности. Если нет вывода в публичную часть, лучше fetch. А еще лучше - самим применить htmlspecialcharsbx к нужным ключам.

  2. Указывайте явно в выборке нужные поля. Работаете только с ID - его и пропишите. По умолчанию тянутся все поля таблицы.
Теги:
drIceman
А мы про d7 или старое? Это в d7 fetch и fetchRaw с маленькой буквы, а getNext совсем нет.
Если про старое, там рекомендован официально GetNext вместо Fetch, я обычно использую GetNext(false, false) для уменьшения манипуляций внутри.
0 Ещё
Антон Долганин ( ' " <u>test2</u> " ')
Дмитрий Потапенко написал:
там рекомендован официально GetNext вместо Fetch
Это в доке написано или курсе? А что там в контексте? Просто скорее всего рекомендовали по причине того, чтобы новички не выводили небезопасные переменные. Но getNext(false, false) лучше, соглашусь.
0 Ещё
drIceman
Антон Долганин ( ' " <u>test</u> " ') написал:
Это в доке написано или курсе? А что там в контексте? Просто скорее всего рекомендовали по причине того, чтобы новички не выводили небезопасные переменные. Но getNext(false, false) лучше, соглашусь.
Это в контексте CIBlockResult, там Fetch отсутствует и наследуется от CDBResult. Другими словами Fetch под инфоблоки не заточен.
1 Ещё
Kirill
Правда ли что fetch работает быстрее getNext? Еще столкнулся с проблемой получения DETAIL_TEXT и DETAIL_PAGE_URL у fetch.  
0 Ещё
Антон Долганин ( ' " <u>test2</u> " ')
Kirill, конено, быстрее. В частности как раз потому, что не получает полные ссылки и форматированный подробный текст. Для этих целей и нужен getNext
0 Ещё