mysql常用引擎:

InnoDB(行锁,性能更高)、myISAM(表锁),Mysql在V5.1之前默认存储引擎是MyISAM;在此之后默认存储引擎是InnoDB;

sql执行过程

sql执行过程

sql执行过程

SQL的执行过程:
1 .客户端发送一条查询给服务器;
2 .服务器通过权限检查之后,先会检查查询缓存,如果命中了缓存,则立即返回存储在缓存中的结果,否则进入下一阶段;
3 .服务器端进行sQL解析、预处理,再由优化器根据该sql所涉及到的数据表的统计信息进行计算,生成对应的执行计划;
4 . MySQL根据优化器生成的执行计划,调用存储引擎API来执行查询;
5 .将结果返回给客户端。

sql执行的最大瓶颈在于磁盘的IO,即数据的读取不同sQL的写法,会造成不同的执行计划的执行,而不同的执行计划在旧的上面临完全不一样的数量级,从而造成性能的差距;
所以,优化SQL,其实就是让充询优化器根据程序员的计划选择匹配的执行计划,来减少查询中产生的IO