ORDER BY使我的查询超级慢.里面的例子.加快它的想法?

pk1*_*557 4 mysql sql performance sql-order-by

使用ORDER BY运行此操作需要10秒钟,并且当流量很高时最终会导致我的网站崩溃.

select *
from tbluserinfluences, tblcontent, tblusers
where tblcontent.userid = tblusers.id
and tbluserinfluences.userid = tblusers.id
and tbluserinfluences.lcase_influence = 'pink floyd'
order by tblcontent.score desc
limit 0, 160
Run Code Online (Sandbox Code Playgroud)

不使用ORDER BY运行相同的查询只需几毫秒.

select *
from tbluserinfluences, tblcontent, tblusers
where tblcontent.userid = tblusers.id
and tbluserinfluences.userid = tblusers.id
and tbluserinfluences.lcase_influence = 'pink floyd'
order by tblcontent.score desc
limit 0, 160
Run Code Online (Sandbox Code Playgroud)

这是EXPLAIN

在此输入图像描述

有任何想法吗?我愿意将它分成多个查询,创建临时表或其他任何有用的东西.这个查询正在困扰我(和我的用户).

谢谢!

Jer*_*ell 7

您可能需要在分数列上添加索引.