У меня есть две таблицы. Один с именем status
вот так ...
user_id | status
--------+-----------
1 | random status from user 1
2 | random status from user 2
3 | random message from user 3
4 | staus from user 4
1 | second status for user1
и т.д ...
а другой по имени users_following
вот так ...
user_id | is_following
--------+-----------
1 | 2
1 | 3
2 | 1
3 | 2
означает, что пользователь 1
следует за обоими пользователями 2
и 3
и т. Д. *
Итак, допустим, я выбрал пользователя 1
. Каков наилучший запрос (с точки зрения производительности), чтобы показать обновления статуса пользователей, за которыми следует пользователь 1
, в данном случае пользователи 2
и 3
В настоящее время у меня есть что-то вроде
SELECT * from status WHERE user_id IN(SELECT is_following FROM users_following
WHERE user_id='1') LIMIT 0,5
но я не думаю, что это хорошо для производительности, если пользователь следил за тысячами + пользователей