pdopage как ускорить выборку
В каталоге порядка 20тыс товаров, при выборе всего каталога, выборка занимает больше 1 секунды, в районе 1.3 сек. Возможно ли это как-то ускорить? Пробовали отключить TV, показатели 0.9 — 1.1сек.
Лимит стоит 20 товаров.
Лимит стоит 20 товаров.
{'!pdopage' | snippet: [
'element' => 'msProducts',
'where' => '{"tvprice_old:="0}',
'parents' => $_modx->resource.id,
'limit' => 20,
'pageLimit' => 7,
'sortby' => '{"tvqty_msk":"DESC", "tvnal":"DESC"}',
'tpl' => 'tableview',
'tplPageWrapper' => '@INLINE {$prev}{$pages}{$next}',
'tplPageActive' => '@INLINE <li class="active"><span>{$pageNo}</span></li>',
'tplPageNext' => '@INLINE <li><a href="{$href}" aria-label="Next"><span aria-hidden="true">»</span></a></li>',
'tplPagePrev' => '@INLINE <li><a href="{$href}" aria-label="Previous"><span aria-hidden="true">«</span></a></li>',
'includeTVs' => 'price_old,image,art,sku,qty_msk,nal,categ',
'tvPrefix' => 'tv'
]}
Поблагодарить автора
Отправить деньги
Комментарии: 8
Если при отключении TV (и сортировки по нему) ситуация не улучшается — смотрите, что у вас в чанке tableview).
Уменьшите limit до 2х штук, быстрее станет?
Уменьшите limit до 2х штук, быстрее станет?
До 2 штук, ситуация не изменилась. Буду смотреть, тогда что в чанке творится.
Сделал вообще пустой чанк, ситуация не поменялось, да там выборка из база долгая.
Запрос посмотрите… showLog…
может параметр depth имеет смысл задать, не формируется ли у вас огромный список IN в запросе?
может параметр depth имеет смысл задать, не формируется ли у вас огромный список IN в запросе?
огромный список IN в запросе формирует, так как мы хотим выбрать показать весь каталог.
1.2494400: Created inline «modChunk» with name
1.1021919: SQL executed
0.0001709: Total rows: 20762
Может имеет смысл, как-то отключить msProduct.parent:IN() если это тормозит, пусть ищет все
1.2494400: Created inline «modChunk» with name
1.1021919: SQL executed
0.0001709: Total rows: 20762
Может имеет смысл, как-то отключить msProduct.parent:IN() если это тормозит, пусть ищет все
Ну найдите решение, как убрать формирование огромного IN.
В него ж поди попадают id товаров, а не категорий.
Например параметр depth ил может вообще убрать ограничение по родителям? Оставить только ограничение по шаблону.
В него ж поди попадают id товаров, а не категорий.
Например параметр depth ил может вообще убрать ограничение по родителям? Оставить только ограничение по шаблону.
Нужно смотреть explain запроса. Большой IN — не должен тормозить, даже если там тысячи товаров т.к. выбираются значения по первичному ключу.
Да, я тоже так думаю, что не должно, тем более там стоит лимит 20 товаров.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.