Всем привет! Буквально сегодня весь день занимался проблемой медленной работы с базой данных. Немного вводной: есть корпоративный портал на битриксе. Живет он около 10 лет, соответственно мусора на нем накопилось очень-очень много. Таблица инфоблоков насчитывает около 500 тысяч элементов. И вот подошел момент, когда простые запросы к таблице инфоблоков (даже если писать их на чистом sql), результат которых должен быть под 100 записей длятся около 1-2 секунд, а если запрашивать пользовательские свойства, то и все 3-4. Примерный запрос: SELECT * FROM b_iblock_element WHERE IBLOCK_ID = 3 AND ACTIVE = 'Y' AND ACTIVE_TO >= '2019-08-14 00:00:00' AND ACTIVE_FROM <= '2019-08-14 23:59:59' ORDER BY `ACTIVE_FROM` ASC, `ACTIVE_TO` ASC LIMIT 0,100 Сервер стоит не слабый, на борту 64 Гб оперативной памяти, но вот настройки оказались далеки от совершенства. Процессами не сложного гугления, нашел оптимальные оптимальные настройки, которыми, с радостью, поделюсь: [mysqld] max_allowed_packet
Оптимизация базы данных для больших проектов 1С-Битрикс
14 августа 201914 авг 2019
818
1 мин