MySQLでクエリを条件別に注文するときに、どのようにfilesortを避けるのですか?ORDER条件を最適化してファイルを防ぐ方法を教えてください。
ORDER BY (videos_count > 0) DESC, name
has_videos
boolean型のカラムと同様に、カウントをキャッシュする方が良いでしょうか?
MySQLでクエリを条件別に注文するときに、どのようにfilesortを避けるのですか?ORDER条件を最適化してファイルを防ぐ方法を教えてください。
ORDER BY (videos_count > 0) DESC, name
has_videos
boolean型のカラムと同様に、カウントをキャッシュする方が良いでしょうか?
どのように(必要な場合のみ)、その後、少なくとも1曲のビデオで最初のもの、二つにクエリを分割に関する残り:
select * from video_table
where video_count > 0
order by name
そして、あなたがそれらを越えて行く必要がある場合:
select * from video_table
where video_count = 0
order by name
http://stackoverflow.com/search?q=[mysql]+filesort –
(video_count、name)に複合インデックスがありますか? MySQLが(機能のために)それを使用するのに十分なほど巧妙であるかどうかはわかりませんが、いずれにしても必要になります。 – Thilo
はい、私は複合インデックスを持っていますが、私は静的インデックスが比較を行う際には役に立たないと信じています。 – rxgx