mysql存储引擎
mysql存储引擎 innodb myisam
1. 查看存储引擎show engines;
2. innodab与mysiam的区别:
A. 事务安全(遵从ACID)
B. MVCC
C. ORACLE样式一致非锁定读取
D. 表数据进行整理优化基于主键的查询
E. 支持外键约束完整性的约束
F. 将对表的查询与不同存储的引擎混合
G. 出现故障后快速自动恢复(SCR)
H. 用于在内存中缓存数据和索引缓冲池区
3. Innodb核心特性
A. MVCC
B. 事务
C. 行级锁
D. 热备
E. CSR(自动故障恢复)
4. 查询默认存储引擎SELECT @@default_storage_engines;
5. 存储引擎的设置
A. 在配置文件设置
B. 使用set命令为当前会话设置
set @@storage_engine=InnoDB;
C . 使用create table指定
Create tabale 表名 engine = (innodb)
二.Innodb储存引擎表空间:5.5版本之后出现表空间概念
1. 共享表空间
A. 命令查看show variables like ‘%path%’
B. 物理查看ll /application/mysql/data >>>>>ibata1
C. 版本中存储默认值
a)系统数据
b) Undo
c) 临时表
2.独 立表空间
A. 命令查看show variables like ‘%per_table%’
B. 物理查看ll /application/mysql/data/wold >>> *.idb文件
三. 事务
1. 什么是事务
A. 主要针对DML语句(update delete insert)
a)一组数据操作执行步骤,这些步骤被是为一个单元:
b) 所有步骤成功或失败(所有成功,则执行,如果出现错误,则取消)
2. 事务ACID特性
A. A:原子性:所有语句作为一个单元全部成功或者取消
B.C:一致性:如果数据库在事务开始处于一个状态,则执行该事务期间保持
C.I:隔离性:事务之间不相互影响
D. D:持久性:事务成功后,所做的所有更改都会准确记录在数据库中。
3. 事务控制语句:
A.Begin >>>>开始一个事务
B.Savepoint >>>>分配事务过程中一个位置,以供将来使用
C.Commit >>>>永久记录当前事务所做的更改
D. Rollbac >>>>取消当前事务所做的更改
4. 自动提交
A. 命令:show cariables like ‘aotocommit’
5. 事务隐式提交
A.在事务运行期间,手机执行begin的时候会自动提交上一个事务
B. 在事务运行期间,加入DDL,DCL操作会自动提交上一个事务
C. 在事务运行期间,执行锁定语句
D. 在autocommit=1的时候
6. 事务redo日志
A. Redo:重做日志
B. 作用:在事务ACID过程中,实现’d’持久化的作用
7. 事务undo日志
A.Undo回滚日志
B. 作用:在事务ACID过程中,实现’A’原子性的作用,当前CI特性与undo相关
8.事务中的锁
A.在事务ACID过程中,’锁’和’隔离级别’一起实现I 的隔离性作用
B. MYISAM:低并发锁(表级锁) INNODB:高并发锁(行级锁)
9.事务的隔离级别
A. Read Uncommittted(独立提交) 允许事务查看其他事务所进行未提交更改
B. Read Committted 允许事务查看其他事务所进行已提交更改
C. Repeatable Read 确保每个事务的select输出一直 默认
D. Serializable 将事务的结果与其他事务完全隔离
E.配置文件reansaction_isolation=read-commit
10. MVCC(多版本并发控制)