2013-11-16 2 views
0

Я хочу показать все сообщения, которые пользователь выполнил. У меня две таблицы: post_tb и follow_tb, связанная колонка - post_tb.user_id и follow_tb.follower_id.

если я показать все сообщения на столе я получил SQL состояние как этот
выберите строки с условием в нескольких строках другой таблицы

"select * from post_tb order by date_time desc;" 

И это условие SQL, которые показывают только должности людей, которым они следуют.

"select * from post_tb where user_id in(select follow_to_id from follow_tb where follow_tb.follower_id='$sessionid') order by date_time des;" 

Оба из них работают, но второй SQL является каждый медленно, когда число записей увеличится. Есть ли лучший способ?
спасибо за Ваш ответ

ответ

1

подзапросы замедленно использовать вместо этого присоединиться к

select * from post_tb p 
join follow_tb f ON(p.user_id = f.follow_to_id) 
where f.follower_id='$sessionid' 
order by date_time desc; 
Смежные вопросы