@drvisbor

JOIN или отдельный запрос?

Привет. Я начинающий, заметил такую штуку в PHP
Есть две таблицы:
operation
-id
-name_operation
-id_user
...
user
-id
-name_user
...


Нужно вывести список операций с именем пользователя.

Делаю запрос следующего вида:
SELECT `operations`
 INNER JOIN `user` ON `operations`.`id_user` = `user`.`id`
...

Выполнился за 0.0045419 сек

А если сделать два разных запроса, то выполнение займет 0.002491 сек.

Как быть? Почему так происходит?
Не ужели быстрее сформировать массив USER где ключ это id пользователя?

Как тут делать правильно и в каких ситуациях?
Спасибо!
  • Вопрос задан
  • 151 просмотр
Решения вопроса 1
@l4m3r
Разумеется тупо вывести две таблицы без джоина это очень простая операция. Упрощенно - 2 действия. Join же на каждую запись operations ищет совпадение в таблице users. То есть это уже count(operations) операций.
Используйте индекс по полю id_user. Точнее задайте FK лучше - индекс сам создастся.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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