#一条SQL查询语句是如何执行的?
当我们执行一条语句时候,select * from table where ID = 1;
下边是mysql 语句执行的过程
1
2mysql -h$ip -P$port -u$user -p
show processlist
查看进程之后就显示出,现在数据库连接的状态等。
其中第一条就是空闲的连接,默认时间为8h,参数为wait-timeout ,请注意最早开发还遇到过 Lost connection to MySQL server during query 这样的错误就是因为连接超时自动断开了。
客户端其实最好保持长连接状态 ,执行完大的任务后,执行下 mysql_reset_connection,重新初始化连接资源。
mysql 8版本之后,查询缓存已经被去掉了。
主要简单理解下,mysql 执行过程,了解分析器,优化器,执行器,存储引擎 innodb,myisam