我有一个名为Topics的表,其中有大约一百万条记录,
当我执行下面的SQL时:

 select * from Topics  order by ReplyCount+OfficialReplyCount desc  LIMIT 0,4;


完成后需要花费10秒钟以上的时间。我在ReplyCount和OfficialReplyCount列上分别创建了索引,但是没有用。
如何提高性能?

最佳答案

在计算列上排序依据会减慢查询速度。
创建一个具有值ReplyCount+OfficialReplyCount的新列,并在其上创建索引,然后在Order By中使用此列名称。

关于mysql - 我如何优化/重构“按列1 +列2排序”之类的sql,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20795789/

10-11 02:51