mysql SQL 查询执行过程
连接器:负责跟客户端建立连接,获取权限,维持和管理连接,一个用户建立连接后,权限做出了变更,需要重建连接,新权限才生效
show variables like 'innodb_monitor_reset'; --可以在每次执行一个比较大的操作后,通过执行 mysql_reset_connection 来重新初始化连接资源。这个过程不需要重连和重新做权限验证,但是会将连接恢复到刚刚创建完时的状态。
show variables like 'innodb_monitor_reset_all';
查询缓存(MySQL 8.0 没有查询缓存的整块功能)
--不建议使用,因为查询缓存失效非常频繁,只要有对一个表的更新,这个表上的查询缓存都会被清空,对于更新压力在的数据库来说,查询缓存命中率会非常低
sql hit
select SQL_CACHE * from test where ID=8;
分析器:语法分析,做字段检查
优化器:使用何种索引,决定表的连接顺序,确定执行方案
执行器:查询权限检查
慢查询日志:
row_examined :这个语句执行过程中扫描了多少行。
每天进步一点点,多思考,多总结
版权声明:本文为CNblog博主「zaituzhong」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。