Laravel Запрос занимает слишком много времени для загрузки. Как я могу оптимизировать этот запрос? - PullRequest
0 голосов
/ 05 апреля 2020

У меня Mysql запрос в приложении Laravel. Загрузка данных занимает 10-15 секунд:

DB::table('product')
    ->Join('product_attribute', 'product.product_id', '=', 'product_attribute.product_id')
    ->leftJoin('product_stock',function($leftJoin)use($seller_id){
      $leftJoin->on('product.product_id', '=', 'product_stock.product_id')
          ->where("product_stock.seller_id", "=", $seller_id);
      })
    ->where('product_stock.stock_id',$stock_id)
    ->select('product.*')
    ->orderBy('product_attribute.priority', 'ASC')
    ->get();

Но когда я удаляю эту строку кода, загрузка занимает 100-150 миллисекунд.

код удален

->leftJoin('product_stock',function($leftJoin)use($seller_id){
      $leftJoin->on('product.product_id', '=', 'product_stock.product_id')
          ->where("product_stock.seller_id", "=", $seller_id);
      })

Но мне нужно использовать первый код, как оптимизировать приведенный выше код, чтобы сделать его быстрым. Заранее спасибо

...