Re: Оптимизация DB
Posted: Mon Jan 15, 2018 2:11 am
Что тут можно оптимизировать:
1. SQL_CALC_FOUND_ROWS - подсчет точного ко-ва галер - это делается когда есть пагинация, если ее заменить на prev / next то подсчета не будет и этого запроса
2. судя по
group_id IN (256,210,204,211,255,154,229,198,155,265,156,208,226,157,225,158,67,268,185,258,264,259,267,230,228,123,195,269,232,162,165,214,213,223,220,221,218,217,219,215,216,222,262,257))
масса групп, куча выключенного - те скрипту надо сначала выбрать все из группы А, а потом проверить не состоят ли эти галеры в выключенных группах которых много и галер там может быть много
Это проблема мягкого или жжесткого исключения.
Сейчас оно жесткое: если галера в группе А и Б . Группа А выключена.
мы выводи группу Б - надо ли выводить галеру? по дефолту нет тк часто категории надо дестко разделять, например тин + гей и на сайте выключен гей, то в тин однозначно не надо выводить. Для этого и такая проверка в запросе. Но если у вас ситуация когда можно без доп проверки этой то можно провести ап и добавить в конфиге
$config['soft_group_exclusion'] = true;
это уберет еще чатсь запроса.
Думаю можно начать с этого и смотреть дальше как будет.
1. SQL_CALC_FOUND_ROWS - подсчет точного ко-ва галер - это делается когда есть пагинация, если ее заменить на prev / next то подсчета не будет и этого запроса
2. судя по
group_id IN (256,210,204,211,255,154,229,198,155,265,156,208,226,157,225,158,67,268,185,258,264,259,267,230,228,123,195,269,232,162,165,214,213,223,220,221,218,217,219,215,216,222,262,257))
масса групп, куча выключенного - те скрипту надо сначала выбрать все из группы А, а потом проверить не состоят ли эти галеры в выключенных группах которых много и галер там может быть много
Это проблема мягкого или жжесткого исключения.
Сейчас оно жесткое: если галера в группе А и Б . Группа А выключена.
мы выводи группу Б - надо ли выводить галеру? по дефолту нет тк часто категории надо дестко разделять, например тин + гей и на сайте выключен гей, то в тин однозначно не надо выводить. Для этого и такая проверка в запросе. Но если у вас ситуация когда можно без доп проверки этой то можно провести ап и добавить в конфиге
$config['soft_group_exclusion'] = true;
это уберет еще чатсь запроса.
Думаю можно начать с этого и смотреть дальше как будет.