sql的执行流程:
1.客户端发送一条sql给服务器
2.服务器通过相关的权限检查之后,先会检查查询缓存,如果命中了缓存,则立即返回缓存中的结果;否则进入下一阶段
3.服务器端进行sql解析,预处理,再由优化器根据该sql所涉及的数据表的统计信息进行计算,生成对应的执行计划
4.MySql根据优化器生成的执行计划,调用存储引擎中的API执行查询
5.将结果返回给客户端
sql执行最大的瓶颈在于磁盘的io,即数据的读取;不同sql的写法,会造成不同执行计划的执行,而不同的执行计划在io上面临完全不一样的数量级,从而造成性能的差距.所以说优化sql就是让查询优化器根据程序猿的计划选择匹配的执行计划,来减少查询中产生的io