MySQL原理和实践

一条SQL的执行过程 1. 客户端连接到服务端的连接器 2. 分析器进行词法分析(解析关键字和字段名)和语法分析(判断是否符合MySQL语法) 3. 如果是查询语句,有缓存则查缓存 4. 优化器决定SQL的执行顺序 5. 表权限校验,执行器调用存储引擎读写接口进行操作。如果是InnoDB写操作具体流程是 1. 调用查询接口查询数据 2. 查询引擎从磁盘读取到内存,返回数据 3. 执行器变更数据,调用查询引擎写入数据 4. 新数据更新到内存,写入redolog 5. 执行器写binlog 6. 提交事务,写数据 r
阅读更多
MySQL实战45讲-阅读笔记

MySQL实战45讲-阅读笔记

SQL查询语句的执行 执行流程如下 具体拆解如下, 1. 连接器 * 长连接是指连接成功后,如果客户端持续有请求,则一直使用同一个连接。短连接则是指每次执行完很少的几次查询就断开连接,下次查询再重新建立一个。使用长连接可能会导致MySQL占用内存快速上涨,原因是执行过程中临时使用的内存是管理在连接对象里面的,这些资源会在连接断开的时候才释放。解决方案有两个 * 定期断开长连接 * MySQL 5.7或更新版本可以执行mysql_reset_connection来重新初始化连接资源 2. 查询缓存 * 除非是静态表,否则不建议开启查询缓存。表只要有一次更
阅读更多