十、存储引擎

MYSQL引擎
 
我给你一份歌词,让你保存下来,
你可以怎么保存?
 
记在脑子里,
用铅笔写在纸上,
用钢笔写
 
还可以刻在石头上
 
无论你怎么保存
不变的是数据,变化的是“存储的格式”
 
Name,age
张三  22
李四  23
 
这个信息,无论你用什么engine来存,都是一样的。
但是,不同engine,都有存信息,则必须不一样的地方。
 
总结:engine引擎就是MySQL存储数据的不同方式
 
就像一部电影,“黄金甲”内容是一样的,
rmvbmkv,mp4,avi,flv
 
特点
Myisam
innoDB
Bdb
Memory
archive
批量插入的速度
非常高
事务安全
 
支持
支持
 
 
全文索引
支持
 
 
 
 
锁机制
表锁
行锁
页锁
表锁
行锁
存储限制
没有
64TB
没有
没有
B树索引
支持
支持
支持
支持
 
哈希索引
 
支持
 
支持
 
集群索引
 
支持
 
 
 
数据缓存
 
支持
 
支持
 
索引缓存
支持
支持
 
支持
 
数据可压缩
支持
 
 
 
支持
空间使用
N/A
非常低
支持外键
 
支持
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Myisaminnodb的区别
 
Create table (
)engine myisam
 
 
开启事务:
Start transaction;
事务完成后
Commit提交
 
回滚:
Rollback
 
事务简介:
四个属性:原子性、一致性、隔离性、持久性
原子性:2步或N步操作,逻辑上不可分割。
通俗点讲,就是要么都么成功,要么都不成功。
 
一致性:操作前后,值的变化,逻辑上成立。
 
隔离性:事务结束前,每一步的操作带来的影响,别人看不见。
 
持久性:事务一旦完成,无法撤销。
比如:ATM取钱
账户-500
吐钞500,钱装兜里。
这是,出错了,如何撤销这个事务?
难道让人手动把钱塞回去。
 
事务不能撤销,但确实是一次错误的交易。
怎么办?
 
只能,再做一次“补偿性事务”。
 
流水1:多加了500
流水2:追回500[补偿性事务]
 
但是不能通过把流水1给删掉这种说法。
 
原文地址:https://www.cnblogs.com/steven9898/p/11340581.html