0

実行に 6 ~ 20 秒かかる MySql 5.5 クエリがあります。

SELECT TE.memb_priority, E.event_id, IFNULL(TE.user_show_as, E.show_time_as), 
       TE.email_id, TE.memb_color, TE.memb_inv_id, TE.invite_type, TE.is_confirmed, TE.invite_alias, IFNULL(TE.reminder, E.reminder_mins),
       COALESCE(TE.delete_dt, IORG.rm_from_invite_dt), 
       GREATEST(E.last_update_time, IFNULL(TE.greatest_time, 0)), IORG.required_attendee, 0
  FROM INVITED_ORG IORG, PERM_USER_EVENT_MEMB TE, USER_EVENT E
 WHERE TE.memb_inv_id       = IORG.org_id_FK
   AND IORG.event_id_FK     = E.event_id     
   AND ((E.event_owner      = IORG.org_id_FK
   AND   E.exclude_owner    = 0)
    OR E.event_owner       != IORG.org_id_FK)  
   AND (E.gmt_end_date > '2013-02-17 00:00:00.0'
    OR (E.recurrence IS NOT NULL
   AND  '2013-02-17 00:00:00.0' <= E.recurrence_end_dt)); 

説明ショー:

id,select_type,table,type,possible_keys,key,key_len,ref,rows,Extra
-------------------------------------------------------------------
1,SIMPLE,TE,ALL,idx_id,NULL,NULL,NULL,61,
1,SIMPLE,IORG,ref,"PRIMARY,idx_oid,idx_eid",idx_oid,4,GLOCAL.TE.memb_inv_id,343,
1,SIMPLE,E,eq_ref,PRIMARY,PRIMARY,252,GLOCAL.IORG.event_id_FK,1,"Using where"

ご覧のとおり、DESCRIBE は適切に表示されます。このクエリをより効率的に実行するには、他に何を確認できますか?

4

1 に答える 1

0

innodb_buffer_pool_size結果セットがクエリに収まらない場合、 I/O ページングのために非常に長い時間がかかります。

于 2013-03-26T03:59:01.060 に答える