在 mysql 上使用以下查询时,它被锁定,
SELECT event_list.*
FROM event_list
INNER JOIN members
ON members.profilenam=event_list.even_loc
WHERE (even_own IN (SELECT frd_id
FROM network
WHERE mem_id='911'
GROUP BY frd_id)
OR even_own = '911' )
AND event_list.even_active = 'y'
GROUP BY event_list.even_id
ORDER BY event_list.even_stat ASC
IN约束内的内部查询有很多frd_id,所以因为上面的查询很慢...,所以请帮忙。
谢谢。
最佳答案
试试这个:
SELECT el.*
FROM event_list el
INNER JOIN members m ON m.profilenam = el.even_loc
WHERE el.even_active = 'y' AND
(el.even_own = 911 OR EXISTS (SELECT 1 FROM network n WHERE n.mem_id=911 AND n.frd_id = el.even_own))
GROUP BY el.even_id
ORDER BY el.even_stat ASC
关于mysql - 如何优化这个完整的查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21228469/