我有一个名为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/