mysql 使用group by和order导致速度很慢,请问该怎样优化?

mysql 使用group by和order导致速度很慢,请问该怎样优化?,第1张

1、使用用索引 注意有些情况下不能够使用索引来提高Order By语句的查询性能。 这里需要注意的是,并不是任何情况下都能够通过使用索引来提高Order Byz子句的查询效率。如对不同的关键字使用这个语句、混合使用ASC模式和DESC模式、用于查询条件的

既然查询速度特别快 而且你也只需要排名前一百条的语句,可以用where语句再过滤一下,然后对查询出来的语句再进行排序。相对来说需要排序的数据量会少一些。

例如:

1、select top 100 * from mytable order by operateDate;

2、select * from (select top 100 * from mytable ) a order by a.operateDate;

如果表内数据量比较大的话 ,2 的速度是优于1的。毕竟1是先对表内所有数据排序,然后再进行查询,2只需要排序过滤之后的数据。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/8694620.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-20
下一篇2023-04-20

发表评论

登录后才能评论

评论列表(0条)

    保存