Java执行一条MYSQL更新语句的宏观执行过程

Jacky 数据库 2023-02-01 28

#####Java执行一条MYSQL更新语句的宏观执行过程

  1. 使用mysql驱动与数据库建立一个数据库连接,数据库连接池可通过连接池管理
  2. 将SQL更新语句通过数据库连接发送给数据库
  3. 数据库接受到SQL语句后,使用SQL解析器将SQL语句解析成mysql认识的SQL并使用查询优化器优化解析的SQL
  4. 使用执行器根据SQL生成执行计划,调用存储引擎接口
  5. InnoDB 存储引擎 根据条件先到缓存池(buffer pool)中查询数据
  6. 如果没有则读取磁盘文件中的数据到缓存测,同时将数据也写入到undo log中(便于数据回滚和服务宕机数据恢复)
  7. 数据的增删改都是在缓存池中操作的,数据在缓存池中更新成功后,会将更新后的数据记录到 redo log buffer中
  8. 在完成上面更新操作后提交事务,缓存池会将redo log buffer中的数据写入到redo log,将本次操作记录到 bin log,将bin log的名字以及数据在bin log中的位置记录到redo log,在redo log最后添加commit标记