performance - what mysql query is better? -
i got 2 mysql queries, retrieve same data?, 1 think better use , why? taking account standards, , better code etc. sorry if stupid question, im curious cat! here goes:
query 1:
select * (( select u.username, u.picture, m.id, m.user_note, m.reply_id, m.reply_name, m.dt relationships r join notes m on m.user_id = r.leader join user u on r.leader = u.user_id r.listener ='2' ) union ( select u.username, u.picture, m.id, m.user_note, m.reply_id, m.reply_name, m.dt notes m join user u on m.user_id = u.user_id u.user_id ='2' )) d d.dt < '2010-09-20_131830' order d.dt desc
query 2:
select u.username, u.picture, m.id, m.user_note, m.reply_id, m.reply_name, m.dt notes m inner join user u on m.user_id = u.user_id (m.user_id = '2' or m.user_id in ( select r.leader relationships r r.listener ='2')) , dt < '2010-09-20_131830' order dt desc
i find union all
version easier understand (that me offcourse) i'd rewrite below.
adding and m.dt < '2010-09-20_131830
each part should give better performance.
run few times , verify if makes difference.
select u.username , u.picture , m.id , m.user_note , m.reply_id , m.reply_name , m.dt relationships r inner join notes m on m.user_id = r.leader inner join user u on r.leader = u.user_id r.listener ='2' , m.dt < '2010-09-20_131830' union select u.username , u.picture , m.id , m.user_note , m.reply_id , m.reply_name , m.dt notes m inner join user u on m.user_id = u.user_id u.user_id ='2' , m.dt < '2010-09-20_131830' order m.dt desc
Comments
Post a Comment