关于mysql:MySQL学习笔记1

51次阅读

共计 492 个字符,预计需要花费 2 分钟才能阅读完成。

I、MySQL 根本逻辑架构

分层 组件 性能
server 层 连接器、查问缓存、分析器、优化器、执行器、内置函数等 存储过程、触发器、视图
存储引擎层 InnoDB、MyISAM、Memory 等(默认 InnoDB) 数据的存储和提取
注:建表时应用参数 engine=$engine 指定存储引擎;server 为所有类型的存储引擎共用。

II、一条 SQL 语句如何执行

III、redo log 和 binlog

redo log redo log binlog
参数 innodb_flush_log_at_trx_commit=1 sync_binlog=1
作用 crash-safe 归档
分层 引擎特有 server 层共有
反对引擎 InnoDB 不辨别引擎
日志级别 物理日志 逻辑日志
写入形式 循环写 追加写
存储占有 固定 不固定
注:redo log 的过程与《孔乙己》掌柜记账形象化类比了解

IV、两阶段提交


1、两阶段提交:redo log 的写入拆成了两个步骤:prepare 和 commit。
2、利用场景:数据库复原和 扩容
3、目标:怎么让数据库复原到半个月内任意一秒的状态?
4、如果不应用两阶段提交:数据库的状态就有可能和用它的日志复原进去的库的状态不统一。

正文完
 0