我有這個疑問這需要時間。下面是查詢 -在約束查詢慢?
SELECT
m1.mes_id,
m1.body,
m1.subject,
m1.frm_id AS mem_id,
m1.date
FROM
messages_system_new m1
WHERE
m1.mes_id IN
(SELECT
MAX(mn1.mes_id) AS mes_id
FROM messages_system_new mn1
WHERE
mn1.mem_id = '401'
AND mn1.frm_id != '401'
AND mn1.trashed_user NOT LIKE '%401%'
AND mn1.type = 'message'
AND mn1.folder = 'inbox' AND mn1.is_spam='N'
GROUP BY mn1.frm_id
)
發射時解釋它給
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY m1 ALL (NULL) (NULL) (NULL) (NULL) 6091 Using where
2 DEPENDENT SUBQUERY mn1 ref mem_id,frm_id mem_id 8 const 59 Using where; Using temporary; Using filesort
這是什麼意思,我怎樣可以提高查詢?
你可以租用所涉及的表的模式 – 2013-03-08 10:22:55
確保你已經創建了表'messages_system_new'中的字段'mes_id'的索引 – Lake 2013-03-08 10:24:22
@Lake呀!它的主鍵(mes_id) – John 2013-03-08 10:25:50