暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
MySql
440
18页
11次
2021-08-17
免费下载
MySQL实战45讲 首页
|
02 | 日志系统:一条SQL更新语句是如何执行的?
2018-11-16 林晓斌
讲述林晓
时长 15:07 大小 8.66M
前面我们系统了解了一个查询语句的执行流程,并介绍了执行过程中涉及的处理模块。相
信你还记得,一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功
能模块,最后到达存储引擎。
那么,一条更新语句的执行流程又是怎样的呢?
之前你可能经常听 DBA 同事说,MySQL 可以恢复到半个月内任意一秒的状态,惊叹的同
时,你是不是心中也会不免会好奇,这是怎样做到的呢?
我们还是从一个表的一条更新语句说起,下面是这个表的创建语句,这个表有一个主键 ID
和一个整型字段 c
1 mysql> create table T(ID int primary key, c int);
如果要将 ID=2 这一行的值加 1,SQL 语句就会这么写:
前面我有跟你介绍过 SQL 语句基本的执行链路,这里我再把那张图拿过来,你也可以先简
单看看这个图回顾下。首先,可以确定的说,查询语句的那一套流程,更新语句也是同样
会走一遍。
MySQL 的逻辑架构图
你执行语句前要先连接数据库,这是连接器的工作。
前面我们说过,在一个表上有更新的时候,跟这个表有关的查询缓存会失效,所以这条语
句就会把表 T 上所有缓存结果都清空。这也就是我们一般不建议使用查询缓存的原因。
1 mysql> update T set c=c+1 where ID=2;
of 18
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜