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 товаров.            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.