Я реализую API из моей базы данных laravel. база данных включает в себя более 300000+ данных, это мой запрос API, когда я пытаюсь выполнить этот запрос, он занимает 1230 мс
$products = \App\items::with([
'item_store' => function ($query) {
$query->select('size', 'item_id');
},
'pics' => function ($query) {
$query->select('img_url', 'item_id');
},
'brand' => function ($query) {
$query->select('item_id', 'brand_id');
},
'brand.brand' => function ($query) {
$query->select('brand_id', 'brand_name');
}
])
->select('item_id', 'short_name', 'price', 'price_old')
->orderBy('Price', 'Asc')
->whereIn('category_id', $arr)
->paginate(32);
, но когда я добавляю groupBy, для его загрузки требуется 13 секунд, в чем заключается проблема ?? как я могу решить эту проблему?
после добавления groupBy
$products = \App\items::with([
'item_store' => function ($query) {
$query->select('size', 'item_id');
},
'pics' => function ($query) {
$query->select('img_url', 'item_id');
},
'brand' => function ($query) {
$query->select('item_id', 'brand_id');
},
'brand.brand' => function ($query) {
$query->select('brand_id', 'brand_name');
}
])
->select('item_id', 'short_name', 'price', 'price_old')
->orderBy('Price', 'Asc')
->groupBy('Sku')
->whereIn('category_id', $arr)
->paginate(32);