いくつかの例を見つけましたが、まだ高速化できません。
曲表:
song_id
song_name
投票表:
vote_id
song_id
vote_ip
お気に入りテーブル:
favorite_id
song_id
favorite_owner
私のクエリ:
SELECT * FROM songs as s
LEFT JOIN votes as v ON v.song_id = s.song_id
AND v.vote_ip='78.63.35.138'
LEFT JOIN favorites as f ON f.song_id = s.song_id
AND (f.favorite_owner='78.63.35.138'
OR f.favorite_owner='1') WHERE s.song_id!=''
LIMIT 100 OFFSET 1
;
結果は出ましたが、クエリの実行時間は12秒です。