最新消息:欢迎加入小松的QQ群一起讨论一起学习,本站启用elasticsearch全文检索系统,提供搜索的精确度

mysql 随机RAND和GROUP BY优化

MYSQL 416浏览 0评论

最近看到一篇文章关于mysql的优化的,其中两个块内容平时用到的优化方法,记录和分享一下

group by 优化

SELECT goods_id,count(*) FROM t GROUP BY goods_id;

默认情况下,MySQL对所有GROUP BY col1,col2…的字段进行排序。如果查询包括GROUP BY,想要避免排序结果的消耗,则可以指定ORDER BY NULL禁止排序。
修改成

SELECT goods_id,count(*) FROM t GROUP BY goods_id ORDER BY NULL;

RAND随机优化

SELECT * FROM t1 WHERE 1=1 ORDER BY RAND() LIMIT 4;

MySQL不支持函数索引,会导致全表扫描
修改成

SELECT * FROM t1 WHERE id >= CEIL(RAND()*1000) LIMIT 4;
QQ交流群:136351212

如无特别说明,本站文章皆为原创,若要转载,务必请注明以下原文信息:
转载保留版权:小松博客» mysql 随机RAND和GROUP BY优化
本文链接地址:https://www.phpsong.com/2264.html

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
木有头像就木有JJ!点这里按步骤申请Gravatar头像吧!

网友最新评论 (1)

加载中,请稍候...
  1. 这里两个优化的确比较实用
    mysql运维10个月前 (03-24)回复