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