select s.* from Student s where s.s_id in (select s_id from SC sc where sc.c_id = 0 and sc.score = 100 )
履行时刻:30248.271s
晕,为什么这么慢,先来检查下查询方案:
EXPLAIN select s.* from Student s where s.s_id in (select s_id from SC sc where sc.c_id = 0 and sc.score = 100 )
发现没有用到索引,type满是ALL,那么首要想到的便是树立一个索引,树立索引的字段当然是在where条件的字段。
先给sc表的c_id和score建个索引
CREATE index sc_c_id_index on SC(c_id);
CREATE index sc_score_index on SC(score);
再次履行上述查询句子,时刻为: 1.054s
快了3w多倍,大大缩短了查询时刻,看来索引能极大程度的进步查询功率,建索引很有必要,许多时分都忘掉建
索引了,数据量小的的时分压根没感觉,这优化的感觉挺爽。
可是1s的时刻仍是太长了,还能进行优化吗,仔细看履行方案:
检查优化后的sql:
本文最初发布于2022年7月30日 @ 上午9:20
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
闲鱼资源网 » 一次非常有意思的 SQL 优化经历
闲鱼资源网 » 一次非常有意思的 SQL 优化经历
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 站壳网