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