![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql从0到0.1
文章平均质量分 95
西西弗De石头
大三 软件工程
展开
-
mysql从0到0.1系列:SQL是怎么执行的(下)
1.update/insert 语句的执行流程 1.1 流程 1.1.1 insert 流程 在上一篇我们已经说过,一条SELECT语句执行需要的几个步骤,实际上update/insert语句也差不多,不同的是多出了redo log和bin log两个重要的部分。 这里再写一下整个流程: 创建连接 通过TCP/IP连接Mysql 解析器 这里mysql通过词法和语法解析会知道这里是update语句。 优化器 生成相应的执行计划,选择最优的执行计划 执行器 在这一步会去open table,如果该table原创 2021-04-10 13:47:33 · 130 阅读 · 0 评论 -
mysq从0到0.1系列——SQL是怎么执行的(上)
select 语句执行流程 流程 创建连接,先连接到数据库,通过连接器连接到客户端(TCP握手链接) 此时会获取用户的权限,并且权限获取后,如果修改权限,不会影响当前连接。并且链接的默认有效期是8小时,到期之后会自动断开,默认使用长连接。但是由于长连接内存占用大,会导致mysql内存涨得比较快,导致OOM。目前常见的解决方案是使用连接池。 MySQL 在执行过程中临时使用的内存是管理在连接对象里面的导致连接内存大 查询缓存 建立连接后,进行一个查询请求,会先查询mysql的查询缓存。执行的sql作为原创 2021-04-02 16:45:30 · 99 阅读 · 0 评论