Kozzirago Ответов: 0

Как уменьшить количество запросов к базе данных?


У меня есть база данных MySQL с отношениями между таблицами.

Табличные автомобили имеют внешние ключи к следующим таблицам:

- мировые бренды

- модель

- поколения

- модификация двигателя

Модели имеют внешний ключ к брендам, поколения имеют внешний ключ к моделям, engine_modifications к поколениям.

Когда я пытаюсь визуализировать все поколения для определенной модели, количество запросов к БД огромно.

public function show($id)

{

$model = Model::findOrFail($id);

return view('models.show')->withModel($model);

}


Что я уже пробовал:

Я подумал, что это связано с проблемой n+1, и попытался указать на эти отношения:

$model = Model::with(

'generations',

'brand',

'generations.engineModifications',

'generations.model',

'generations.cars'

)->findOrFail($id);


К сожалению, это тоже не решает мою проблему. Количество запросов одинаково для каждой модели.

0 Ответов