2012-03-15 114 views
0

部分查询:索引这个查询

FROM 
     pm_data AS pmdata 
     LEFT JOIN messages as pm 
      ON pmdata.msg_id = pm.msg_id 
     LEFT JOIN users as usr 
      ON (usr.uid = pm.reciever_id || usr.uid = pm.sender_id) 
    WHERE 

     (
      pmdata.sender_id = 541839243781 
      AND 
      pmdata.sender_isdeleted = 1 
     ) 
     OR 
     (
      pmdata.reciever_id = 541839243781 
      AND 
      pmdata.reciever_isDeleted = 1 
     ) 

    ORDER BY pm.created_at DESC 

,此刻我只添加

  • 索引1(MSG_ID)
  • 索引2(sender_isDeleted)
+2

那么你的问题是什么? – 2012-03-15 06:48:12

+0

这个查询需要0,0014在其他情况下需要几乎0,004加载...我想如果我可以索引它/优化它更好的加载时间 – fxuser 2012-03-15 06:50:26

+1

1.4毫秒是不慢。 – 2012-03-15 06:52:57

回答

1

对于此查询只有有用的指标是:

  • PMDATA(SENDER_ID)
  • PMDATA(reciever_id)
  • 消息(MSG_ID)
  • 用户(UID)

此查询不需要你所提到的:

  • 索引1 (msg_id)
  • index2(sender_isDeleted)