@Artem0071
Безработный mr. Junior

Как оптимизировать запрос?

Как сделано сейчас:
fd81b5d0921e484a876516500a245c16.png

На странице может быть до 50 блоков
Каждый блок имеет параметры входа и выхода

Это просто делается inner join и все нормально

Но проблема в том, что блоки разделяются на типы (например "таймер", "рандом" и тд)
Блок может быть только одного вида

Тип блока сейчас пишу в основе (block(block_type))
Затем с помощью пхп делаю switch и если block_type = 'random', то я делаю еще один sql запрос в бд на block_random where `block_id` = some_id

У некоторых из этих подблоков так же могут быть подподблоки

В общем
Как мне их правильно соединять (может стоит как то переделать структуру бд(но как?))?

Потому что сейчас если на странице Х блоков, то делается Х+1 запрос в БД за одну страницу (если 50 блоков, то 1 основной и 50 по типам)
  • Вопрос задан
  • 166 просмотров
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
LEFT JOIN `Block_Random` ON `Blocks`.`Block_Type` = 'random' 
  AND `Block_Random`.`Block_ID` = :some_id
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы