一通骚操作,我把SQL执行效率提高了10000000倍!
发布时间:2019-06-22 10:46:02 所属栏目:建站 来源:风过无痕
导读:副标题#e# 场景 我用的数据库是mysql5.6,下面简单的介绍下场景 课程表: createtableCourse( c_idintPRIMARYKEY, namevarchar(10) ) 数据100条 学生表: createtableStudent( idintPRIMARYKEY, namevarchar(10) ) 数据70000条 学生成绩表SC CREATEtableSC(
时间: 1.076s,竟然时间还变长了,什么原因?查看执行计划: 优化后的查询语句为:
貌似是先做的连接查询,再进行的where条件过滤 回到前面的执行计划: 这里是先做的where条件过滤,再做连表,执行计划还不是固定的,那么我们先看下标准的sql执行顺序: 正常情况下是先join再进行where过滤,但是我们这里的情况,如果先join,将会有70w条数据发送join做操,因此先执行where过滤是明智方案 现在为了排除mysql的查询优化,我自己写一条优化后的sql
即先执行sc表的过滤,再进行表连接,执行时间为:0.054s (编辑:西安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |