存储引擎:
数据库对同样的数据,有着不同的存储方式和管理方式,在mysql中,称为存储引擎
一部电影,MP4,wmv,avi,rmvb,flv,同样的一部电影,在硬盘上有不同的存储格式, 所占空间与清晰程度也不一样
表里的数据存储在硬盘上,具体如何存储的?
存储的方式方法也有多种.对于用户来说 同样一张表的数据,无论用什么引擎来存储,用户看到的数据时一样的
但是对于服务器来说,有区别
常用的表的引擎
Myisam,批量插入速度快,不支持事务,锁表
Innodb,批量插入相对较慢,支持事务,锁行
全文索引:目前5.5版本,myisam,innodb都已经支持
存储引擎与其特点
文章,新闻等安全性要求不高的,选myisam
订单,资金,账单,火车票等对安全性要求高的,可以选用innodb
对于临时中转表,可以用memory型 ,速度最快
事务:
通俗的说事务:
原子性:要么都成功执行,要么都不执行.
隔离性:其他会话不能够看到中间改变的过程
一致性:事务发生前,和发生后,数据的总额依然匹配
持久性:事务产生的影响不能够撤销
如果,出了错误,事务也不允许撤销,只能通过”补偿性事务”
转账
李三 —- 支出500,李三 -500
赵四 —-收到500,赵四 +500
1、关于事务的引擎:选用innodb/bdb
2、开启事务:start transaction;
Sql…..
Sql…..
3、Commit提交
或
rollback回滚
注意:当一个事务commit,或者rollback就结束了
注意:有一些语句会造成事务的隐式的提交,比如 start transaction;