gzhegow
@gzhegow
Думал, стану умнее, когда адаптируюсь, но нет

Как используя JOIN получать eloquent модели?

Вот не очень мне нравятся эти
```
SELECT * WHERE EXISTS (SELECT * FROM t2 WHERE t2.sub_id = t1.id) FROM t1
```
Сколько не учил теорию SQL - джоины и внешние ключи являлись оптимизаторами, обрезалками и упрощалками запроса. Когда Лара навязчиво настаивает забить на джоины и юзать полную выборку - меня подкореживает.

Или у кого есть пруф на то, что оно все равно быстро и никакой разницы?
  • Вопрос задан
  • 71 просмотр
Пригласить эксперта
Ответы на вопрос 3
@jazzus
Лара - это фреймворк. Расчитан на простоту, быстроту, красоту, на всякие mvp, стартапы, мини-команды и тд. Проседает производительность - оптимизируй. Не проседает - используй фреймворк. Не подходит фреймворк для проекта - не используй. Все просто)
Ответ написан
@vism
Сколько не учил теорию SQL - джоины и внешние ключи являлись оптимизаторами, обрезалками и упрощалками запроса.


Очень плохо учил.
Даже EXPLAIN не выучил.
Ответ написан
AmdY
@AmdY
PHP и прочие вебштучки
Плохо учили. Во-первых вы оперируете словом SQL, хотя в реальности работать нужно с конкретной базой данных и даже конкретной её версией. Поведение может зависеть от базы, версии, работы оптимизатора, количества данных, наличия кэша и т.д.

Мой опыт подсказывает, что на больших проектах, где скорость запросов действительно имеет значение почти всегда идёт отказ от JOIN. Подзапросы позволяют строить гибридные хранилища, хорошо кэшировать и распределять данные.

Ну и всё нужно проверять на своих реальных проектах, пользуясь explain и прочими профайлерами.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы