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