How to optimize these queries

Discussion in 'MySQL' started by arrisweb, Feb 26, 2010.

  1. #1
    Hi,

    How to optimize these queries?
    (MyISAM engine, MySQL 5.0.89-community-log)


    SELECT t.tid, t.*, parent FROM term_data t INNER JOIN term_hierarchy h ON t.tid = h.tid WHERE t.vid = 2 ORDER BY weight, name;


    SELECT COUNT(*) AS count, d.tid, d.name, d.vid FROM term_data d INNER JOIN term_node n ON d.tid = n.tid WHERE d.vid IN (2) GROUP BY d.tid, d.name, d.vid ORDER BY count DESC LIMIT 0, 12;


    SELECT COUNT(*) AS count, d.tid, d.name, d.vid FROM term_data d INNER JOIN term_node n ON d.tid = n.tid WHERE d.vid IN (2) GROUP BY d.tid, d.name, d.vid ORDER BY count DESC LIMIT 0, 12;


     
    arrisweb, Feb 26, 2010 IP
  2. koko5

    koko5 Active Member

    Messages:
    394
    Likes Received:
    14
    Best Answers:
    1
    Trophy Points:
    70
    #2
    Hi,what you mean by optimize? Split them into a single query?

    WHERE d.vid IN (2) should be WHERE d.vid=2
    Also better'd be choosing another alias instead count for COUNT(*)
    Regards :)
     
    koko5, Feb 26, 2010 IP
  3. arrisweb

    arrisweb Well-Known Member

    Messages:
    1,277
    Likes Received:
    48
    Best Answers:
    0
    Trophy Points:
    160
    #3
    I mean make indexes for these 3 queries.
     
    arrisweb, Feb 26, 2010 IP
  4. koko5

    koko5 Active Member

    Messages:
    394
    Likes Received:
    14
    Best Answers:
    1
    Trophy Points:
    70
    #4
    I see,ok, my suggestion is only for the first query adding index on weight and name
     
    koko5, Feb 26, 2010 IP