mysql子查询多重嵌套实例_MYSQL子查询和嵌套查询优化实例解析

本文通过实例解析了MYSQL子查询和嵌套查询的优化方法,包括查询游戏历史最高分、当天最好成绩以及优化罚款记录查询,通过调整子查询和利用索引来提升查询效率。
摘要由CSDN通过智能技术生成

查询游戏历史成绩最高分前100

Sql代码

SELECT ps.* FROM cdb_playsgame ps WHERE ps.credits=(select MAX(credits)

FROM cdb_playsgame ps1

where ps.uid=ps1.uid AND ps.gametag=ps1.gametag) AND ps.gametag='yeti3'

GROUP BY ps.uid order by ps.credits desc LIMIT 100;

Sql代码

SELECT ps.*

FROM cdb_playsgame ps,(select ps1.uid, ps1.gametag, MAX(credits) as credits

FROM cdb_playsgame ps1 group by uid,gametag) t

WHERE ps.credits=t.credits AND ps.uid=t.uid AND ps.gametag=t.gametag AND ps.gametag='yeti3'

GROUP BY ps.uid order by ps.credits desc LIMIT 100;

执行时间仅为0.22秒,比原来的25秒提高了10000倍

查询当天游戏最好成绩

Sql代码

SELECT ps. * , mf. * , m.username

FROM cdb_playsgame ps

LEFT JOIN cdb_memberfields mf ON mf.uid = ps.uid

LEFT JOIN cdb_members m ON m.uid = ps.uid

WHERE ps.gam

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值