使用左外部联接和OR子句的慢速mysql查询

使用左外部联接和OR子句的慢速mysql查询,mysql,performance,left-join,Mysql,Performance,Left Join,我有以下疑问 SELECT * FROM video LEFT OUTER JOIN comments ON (video.id = comments.video_id) WHERE comments.posted_by_user = 1234 OR video.id in (1, 2, 3, 4) 我有video.id评论的索引。由用户发布和评论.video\u id。然而,mysql会对视频表进行全表扫描,这需要花费很多时间。使用UNION而不是LEFT-OUTER-JOIN可以加快速度,

我有以下疑问

SELECT * FROM video LEFT OUTER JOIN comments ON (video.id = comments.video_id)
WHERE comments.posted_by_user = 1234 OR video.id in (1, 2, 3, 4)
我有
video.id
评论的索引。由用户发布
评论.video\u id
。然而,mysql会对视频表进行全表扫描,这需要花费很多时间。使用
UNION
而不是
LEFT-OUTER-JOIN
可以加快速度,但不是一个选项,因为查询是由django ORM生成的

为什么
子句和
左外部联接的组合会阻止mysql使用索引,我如何才能阻止它