これを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
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
ここに説明があります
何か案は?私はそれを複数のクエリに分割したり、一時テーブルを作成したり、その他の助けになることを受け入れています。このクエリは、私 (および私のユーザー) を悩ませています。
ありがとう!