У кого установлен kmsuppliers и много Join запросов - можете ускорить выполнение в 3-6 раз
Решение тестировалось только на конфиге MariaDB 10.5.
Попробуйте в файле настроек mariadb добавить следующие строки:
optimizer_search_depth = 2 join_cache_level = 8
Если optimizer_search_depth уже равен 0 - то измените на 2.(в принципе можно любое число больше нуля - но чтобы другие запросы не пострадали, лучше не более 7-10 выставлять.)
Не буду расписывать про Hash Joins: BNL,BLK,BNLH. Кому надо - сам найдет инфу )
По-умолчанию join_cache_level на MаriaDB серверах равен 2. Значит может применяться толко алгоритм BNL. Для включения других - нужно выставить число 4 или 8.
У кого обновление прайсов через плагин kmsuppliers и импортируете от 5-10 тысяч артикулов и более - попробуйте.
Применил данные настройки и скорость обработки/обновления увеличилась в 3-6 раз в зав-ти от размера прайса(количества артикулов).
Если кому-то помогло - отпишите, пож-та ;)
1 ответ
Почему optimizer_search_depth не ноль?
Чтобы новые алгоритмы не применялись для простых запросов.
Хотя такое может случится(при установке настроек из темы выше) - поэтому включите лог медленных запросов от 1 секунды, например.
Появились очень редкие медленные запросы около 1 секунды (может они и раньше были и к этой теме не относятся).
Но на всякий случай здесь укажу:
И это мы исправили через добавление доп индекса для поля paid_date в таблице shop_order.