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

Popular posts from this blog

c++ - Convert big endian to little endian when reading from a binary file -

C#: Application without a window or taskbar item (background app) that can still use Console.WriteLine() -

unicode - Are email addresses allowed to contain non-alphanumeric characters? -