当我想按MySQL中的条件排序查询时,如何避免文件排列?如何优化ORDER条件以防止filesort?
ORDER BY (videos_count > 0) DESC, name
它会更好缓存一个has_videos
布尔列以及计数?
当我想按MySQL中的条件排序查询时,如何避免文件排列?如何优化ORDER条件以防止filesort?
ORDER BY (videos_count > 0) DESC, name
它会更好缓存一个has_videos
布尔列以及计数?
如何与至少一个视频分查询分为二,首先的操作,然后(仅在需要时)休息:
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 – 2012-04-10 02:02:47
你有(video_count,name)的复合索引吗?不确定MySQL是否足够聪明可以使用它(因为函数),但是无论如何你都需要它。 – Thilo 2012-04-10 02:21:30
是的,我有一个复合索引,但我相信在进行比较时,静态索引不会有帮助。 – rxgx 2012-04-10 17:51:35