当前位置: 首页 > wzjs >正文

淘宝宝贝链接怎么做相关网站智能建站制作

淘宝宝贝链接怎么做相关网站,智能建站制作,宁波如何建网站,网站运营维护方案一条 SQL 更新语句是如何执行的? SQL语句的执行过程涉及数据库的多个组件:连接器、分析器、优化器、执行器和存储引擎。理解这些组件的协作,对于深入掌握数据库性能优化和事务机制至关重要。 0. 前置知识回顾 查询语句执行流程: …

一条 SQL 更新语句是如何执行的?

SQL语句的执行过程涉及数据库的多个组件:连接器、分析器、优化器、执行器和存储引擎。理解这些组件的协作,对于深入掌握数据库性能优化和事务机制至关重要。


0. 前置知识回顾

查询语句执行流程:

连接器查询缓存(已弃用)分析器(解析 SQL)优化器(选择执行计划)执行器(执行操作)存储引擎(读取/写入数据)


1. 示例:一个简单的更新语句

-- 创建表T,包含主键 ID 和一个整型字段 c
CREATE TABLE T (ID INT PRIMARY KEY,c INT
);-- 将 ID=2 的记录中的 c 字段值加1
UPDATE T SET c = c + 1 WHERE ID = 2;

2. 更新语句的执行流程

和查询语句类似,更新语句也会经过 SQL 的各个组件流程。但更新语句除了读取数据,还会修改数据,因此会涉及到 日志系统 的处理。

流程简述如下:

  1. 连接器:建立客户端和数据库之间的连接。
  2. 查询缓存(现在已废弃):由于该语句会修改表数据,因此会使查询缓存失效,MySQL 会清空缓存中与表 T 相关的结果。
  3. 分析器:进行词法和语法分析,识别为一条 UPDATE 语句。
  4. 优化器:决定使用主键索引查找 ID=2,优化执行路径。
  5. 执行器:调用存储引擎 API 执行更新操作。

3. 两种关键日志机制

更新语句执行过程中涉及两个关键日志:redo logbinlog


3.1 redo log(重做日志)
  • 属于 InnoDB 存储引擎
  • 物理日志,记录“对某个页的物理修改”。
  • 为了实现 WAL(Write-Ahead Logging)机制 —— 先写日志,再写磁盘,提高性能并保障数据可靠性。

WAL 示例流程:

  1. 更新请求到来,先将修改记录写入 redo log(处于 prepare 状态)
  2. 数据页在内存中也被更新。
  3. 后续再异步将更新刷入磁盘。

特点:

  • 固定空间:如由4个1GB文件组成,写满后循环使用。
  • 使用两个指针:
    • write pos:当前写入点
    • checkpoint:当前可擦除点(已持久化到磁盘)

Crash-safe 能力:即使数据库崩溃,重启后仍能通过 redo log 恢复数据,防止已提交事务丢失。


3.2 binlog(归档日志)
  • 属于 MySQL Server 层
  • 逻辑日志,记录的是 SQL 语句本身或行变更内容。
  • 所有存储引擎(如 MyISAM、InnoDB)都可使用。

特点:

  • 支持复制(主从)、备份恢复、审计。
  • 可追加写,不会覆盖之前的内容。

4. 更新语句完整执行流程

  1. 执行器调用存储引擎查找 ID=2 的记录;
  2. 将该行的 c 值加1,并提交修改请求;
  3. InnoDB 引擎:
    • 更新内存中该记录;
    • 写入 redo log(prepare 状态);
  4. 执行器生成并写入 binlog;
  5. 执行器调用引擎提交事务,引擎将 redo log 改为 commit 状态;
  6. 更新成功完成。

5. 两阶段提交(2PC)

为了保持 redo log 与 binlog 的一致性,MySQL 引入“两阶段提交”机制:

步骤内容
写入 redo log(prepare)
写入 binlog
redo log 标记为 commit

为什么需要 2PC?

示例:

  • 只写 redo log,binlog 写入前 crash,则主库数据恢复正常,但 binlog缺失,主从不一致。
  • 只写 binlog,redo log 未提交时 crash,主库数据未更新,但 binlog却记录了操作,也会主从不一致。

所以,2PC 是保证事务一致性与主从一致性的关键机制


总结

模块类型作用
redo log物理日志保证崩溃恢复,属于 InnoDB
binlog逻辑日志用于复制、备份、审计,属于 MySQL Server 层
两阶段提交协调机制保证两个日志一致,维护事务原子性与一致性

文章转载自:

http://BKuGiON2.tndxg.cn
http://jwnK6kfn.tndxg.cn
http://RhdvBjT5.tndxg.cn
http://YcVeT6ia.tndxg.cn
http://jcyDUNjA.tndxg.cn
http://DIn1EbSV.tndxg.cn
http://r1knjPGK.tndxg.cn
http://jGHgiroI.tndxg.cn
http://amAKv4Py.tndxg.cn
http://nyVhAumA.tndxg.cn
http://8rLf0Pho.tndxg.cn
http://Q5oRTzUp.tndxg.cn
http://YuusfqRX.tndxg.cn
http://t9zPKx4J.tndxg.cn
http://qRs8KA8j.tndxg.cn
http://tpkaSXDk.tndxg.cn
http://c798xSHs.tndxg.cn
http://FAHnoxZT.tndxg.cn
http://K6KLobqa.tndxg.cn
http://kn4KUcZo.tndxg.cn
http://1Zs0GzEo.tndxg.cn
http://Tl8BEN2s.tndxg.cn
http://yWLVa7bv.tndxg.cn
http://IpXijB7n.tndxg.cn
http://ZF7BLMoV.tndxg.cn
http://PazBmtax.tndxg.cn
http://SiNRpPB5.tndxg.cn
http://qXVwR5qp.tndxg.cn
http://n9fxBCO9.tndxg.cn
http://PetSfwLX.tndxg.cn
http://www.dtcms.com/wzjs/659819.html

相关文章:

  • wordpress多站点 文章导入青岛网站建设首选营销吧系统
  • 雅布设计创始人seo关键词选择及优化
  • 展览中心网站建设创建电子商务网站的步骤
  • 凡科建站官网登录入口网页版wordpress自动生成文章
  • 厦门专业网站团队拓展
  • 什么是网站的tdk关键词看片
  • 垂直网站建设方案书南京房地产网站建设
  • 苏州网站建设方法简易网站开发时长
  • 平台网站开发公司组织架构钢结构平台
  • 导航网站怎么做做网站和做app的区别
  • 爱站工具包官网下载教育 wordpress模板下载
  • 给公司做网站销售怎样啦装潢设计专业可以报考一建吗
  • 漳州企业网站建设公司网站后台版权
  • 辛集建设局网站网站友链查询
  • 门户网站建设方案ppt 百度文库域名信息
  • 微网站建设高端网站定制中国建盏大师排名表
  • 中国铁路建设监理协会官方网站品牌设计公司文案
  • 合肥网站建设5k5网站开发运营公司
  • 公司网站抄袭做一个网站赚钱吗
  • 北京网站优化策略怎么自己做微网站吗
  • 本地搭建php网站上海专业网站建设方案
  • 免费网站服务器安全软件下载it行业
  • 信息科技有限公司网站建设昌都网站建设
  • 做汽车微信广告视频网站做深圳门户网站起什么名字好
  • 科室建设网站营销推广的主要方法
  • 网站设计素材昆明网站建设-中国互联
  • 网站里做个子网页怎么做做网站收录的网站有哪些
  • 柳州建设网经济适用房seo推广模式是什么
  • 网站推广软件信息wordpress walker
  • 网站代码怎么改微信公众平台二次开发