本文共 825 字,大约阅读时间需要 2 分钟。
1.Mysql的事务支持:
并非所有引擎都支持明确的事务处理管理。
| 优点 | 缺点 |
MyISAM | 访问速度快,对事务完整性没有要求。 | 不支持事务,不支持外键。 |
InnoDB | 支持ACID事务、行级锁、并发 | 写的处理效率差一些,并且会占用更多的磁盘空间以保留数据和索引。 |
MEMORY | MEMORY类型的表访问非常快 | 一旦服务器关闭,数据就会丢失掉 |
2.作用
事务处理(transaction processing)可以用来维护数据库的完整性,它能保证成批的Mysql操作要么完全执行,要么完全不执行。
3.几个术语:
事务(transaction)一组SQL语句。
回退(rollback)撤销指定SQL语句的过程。
提交(commit)将未存储的SQL语句结果写入数据库表。
保留点(savepoint)事务处理中设置的临时占位符(place-holder),你可以对它发布回退(与回退整个事务处理不同)。
4.事务的模型
a.隐式事务(Implicit Transactions)调用方不需要执行BEGIN TRANSACTION语句来开始事务。数据库引擎执行到SQL语句的时候自动打开事务。调用方需要调用COMMIT或者ROLLBACK。
b.显式事务(Explicit Transactions)调用方需要调用BEGIN TRANSACTION语句打开事务,需要调用COMMIT或者ROLLBACK来提交或者回滚。
c.自动事务(Autocommit Transactions)是系统自动默认的,每一条单独的SQL语句(SQL statemenet)都是单独的一个事务,语句执行完毕后自动提交。调用方不需要手工控制事务流程。
参考资料:
《MySQL必知必会》
http://justsee.iteye.com/blog/1062914 《》
thomesca(北蔡):http://blog.csdn.net/thomescai (转载请保留)