Mysql, что будет работать быстрее JOIN или 2 запроса?

Добрый день. Есть 2 таблицы Users и Files.
В таблице Users есть поле avatar_id, в котором содержится ссылка на строку из таблицы Files.\
Когда я хочу получить пользователя с его аватаром, я могу сделать так:
SELECT * FROM users JOIN files ON users.id_avatar = files.id WHERE users.id=3

Но, я подумал что возможно быстрее будут срабатывать 2 запроса, т.к. в 1м случае с JOIN сначала необходимо объединить 2 огромные таблицы, а уже потом сделать выборку.
Тогда получается 1м запросом мы получаем юзера, во 2м по id получаем аватар, т.е. к примеру так:
SELECT * FROM users WHERE users.id=3;
SELECT * FROM files WHERE id = 1;
  • Вопрос задан
  • 2464 просмотра
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Сделайте EXPLAIN первого запроса, и увидите, что и в какой последовательности будет выбираться.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Serhioromano
@Serhioromano
Web Developer
Основное правило такое. Если в условиях WHERE используются колонки таблици которая была JOIN то лучше разбить на вложеные запросы.

В твоем случае делать 2 запроса смысла нет. Можно одним.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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