@haramba
Почему вопросы о про битрикс такие тупые?

Оптимизировать удаление элементов инфоблоков возможно?

В проекте 200 инфоблоков, 500тысяч элементов
Заданный инфоблок содержит 80 свойств, инфоблоков 2.0
Элемент этого инфоблока удаляется стандартным CIBlockElement::Delete
Удаление занимает минуту, на ненагруженном сервере.
Отладив, заметил, что самая долгая операция в удалении есть удаление значений свойств.
В таблице b_iblock_element_prop_m 700тыс записей.
Суть удаления свойства select по ID свойства (индекс стандартный на месте) , а потом delete .

Понимаю, что все на пальцах описано, но больше никак, буду рад любому совету по оптимизации.
  • Вопрос задан
  • 412 просмотров
Пригласить эксперта
Ответы на вопрос 1
serginhold
@serginhold
написать свой delete, с блэкджеком и куртизанками

если посмотреть исходники в плане удаления свойств, то там что-то странное происходит, select, update зачем-то
bxapi.ru/src/?module_id=iblock&name=CIBlockElement...

по сути это просто записи в куче разных таблиц, судя по исходникам, удаляется не только элемент, но и его вариации, если используется документооборот

ну и ручками
DELETE FROM и куча таких таблиц

проблема только в том, что не сработают события, и останутся файлы в /upload

события может и нафиг не нужны, раз нужно кучу всего удалить, а вот файлы по хорошему бы удалить перед удалением элементов, если они есть и их много
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы