Avent
Алексей
сама фильтрация + построение фильтров сьедает много...
Алексей
сколько в фильтре параметров?
Anton
скуль хитрый - парент ин
Anton
в фильтре пока вообще ничего нет, только цена и одна опция. Ну и сортировка.
Avent
Anton
да, Parent in
Anton
msProduct.parent:IN(13,2356,2357....
Anton
Там просто как работает связка мфильта и мспродуктса-то: сначала мспродуктс все товары по-бырому находит в нужных категориях, а потом эти айдишники передаёт в мфильтр, и тот уже с этим эпическим IN фильтрует всё.
Алексей
гыыы.. смею еще предложить эксперимент -
1. уже с mFilter вырубить опцию (чтобы не фильтолвало по нему совсем).
2. Поменять цену и опцию - т.е. убрать фильрацию по цене и оставить только по опции..
3. убреть в самом mfilter все фильтрующее.
Из этой инф можно будет сделать какой-то вывод.
Алексей
не забывайте что там как минимум 1 джоин идет site_content и ms2_product....
Алексей
этот джоин идет как в построении фильтра, так и уже в выводе резульатов...
Алексей
и этого не избежать.... т.к. обычно выводят pagetitle и cost
Avent
Anton
не, без фильтров тоже тормозит. Это всё из-за IN
Avent
Anton
http://joxi.ru/bmo4zQBC39Kzk2
Anton
Ну если голый мспродуктс без фильтра, то всё летает, там по родителю выборка, а если с мфильтром, то мускуль просто офигевает с такого бешеного ИНа.
Алексей
т.е. параметры у mFiletr filters - чистые?
Anton
получается свой фильтр в where Писать для мсПродуктс только.
Avent
затем он просто тупо получает от того список ids
Anton
Да, я параметр filters убрал вообще и всё равно долго
Avent
то есть он не кастомит запрос, который "сконструировал pdoTools"
Avent
а делает один полный запрос, потом еще один
Anton
яж написал, как он работает - сначала мспродуктс получает все айдишники в один или сколько там запростов, но в любом случае весьма быстро, а потом эти полученные айдишники отдаёт в фильтрацию, и там идёт построение фильтров над этим IN(туча айдишников).
Anton
он и так 0 по-умолчанию
Алексей
этот параметр по умолчанию отключен же... )
Avent
Anton
вся засада именно в ин, я так понимаю, мускуль просто очень долго его разбирает
Avent
там есть три метода buildFilter prepareFilter и еще getValues вроде
Avent
Avent
он не будет тормозить вообще
Anton
есть статья на модх.про от Гвоздя, он там как раз работу скуля с опциями переводил в пых, чтоб база не опупевала.
Anton
но там загвоздка была именно в опциях.
Anton
и товаров 7к а не 70
Anton
и не 113 тем более)
Anton
мне кажется, что если в мсПродуктс просто задать where условие, в котором все те-же фильты будут, то всё очень быстро отработает.
Алексей
можно, конечно сделать опции сразу в таблице ms2_prduct, но сомневаюсь что она сильно спасет.
Anton
так говорю, опций пока вообще нет и уже тормозит.
Anton
только писать свой сниппет-обёртку для мспродукс, который будет грамотное where делать.
Anton
по-ходу.
Алексей
да. начать с этого думаю вариант.
Anton
просто это столько ручной работы, ппц.
Avent
Алексей
это ппц... сколько работы... я свой каталог фигачил и свой фильтр.... но пока не тестировал нагрузку...
Anton
чанки
Anton
ну, опять-же, время генерации страницы по сравнению со временем мускуля теряется
Алексей
в pdoRess не происходит джоин таблицы ms2_prod...
Avent
Avent
тем не менее
Anton
так для этого есть msProducts это тот-же пдоРЕсурс, только по товарам
Anton
Avent
попробуй несколько WHERE написать, где они в запросе отобразятся?
Алексей
Avent
они будут в конечном запросе отражены вместе с IN
Avent
?
Avent
Да, можешь пару фильтров выбрать кстати
Anton
а как несколько-то добавить? Только один в котором в джейсоне все условия.
Avent
как выглядит сниппет?
Anton
или ты про пдо?
Avent
нет, вот ты сделай вызов сниппета с фильтрами
Avent
чтобы потормознутее было
Avent
потом сделай лог запроса
Anton
так я кидал лог уже
Avent
картинкой?
Anton
ха, пастебин не даёт сохранить, потому что больше полуметра запрос)
Yurij
Avent
Avent
да пусть сюда кинет файлом просто)
Nimea
Привет! Нужен ваш совет
Anton
https://pastebin.com/WybzvXbD
Yurij
Nimea
есть вот такой сайт, реально ли его полностью воссоздать на модх?
Nimea
arsagera.ru
Anton
конечно реально, всё можно воссоздать на модх)