MySQL5.0版本引入事务机制,才得以进入企业市场的。
目录
1.没有事务机制时,情况很糟糕
平时在修改一份重要文件的时候,通常先备份一下,然后在副本里面去修改;在数据库领域也是如此,如果SQL语句直接操作数据文件是非常危险的;
比如,给员工涨工资,UPDATE语句执行的过程中,系统突然重启了或者停电了,UPDATE语句没有执行完,于是哪些记录修改了,哪些记录没有修改就弄不清了;
……………………………………………………
2.undo日志,redo日志
日志文件就相当于是数据文件的一个副本;SQL语句操作什么样的记录,MySQL数据库就会把这些记录拷贝到undo日志中;增删改查的操作就会记录到redo日志中;
如果这些操作没有什么问题,最后把redo日志和数据文件做一个同步就可以了,即便同步过程中出现了停电、系统重启等问题,因为有redo日志的存在,在重启了MySQL之后,继续完成这个同步就可以了;
同步成功以后,我们修改的数据就真正写到数据文件中了;
即说白了,就是先在undo这个存储记录的日志文件里,尝试去操作,没有问题后再执行同步;;;即使出现中断,因为有日志的存在,还是可以继续同步。
……………………………………………………
3.事务机制引入
……………………………………………………
4.【自动提交事务】和【手动管理事务】
(1)●以前在使用SQL语句的时候,没觉得使用事务啊:这是因为MySQL默认情况下,执行一条SQL语句之前都会为我们开启事务,等这条SQL语句执行完毕之后,MySQL会提交事务(即让redo日志和数据文件作作同步);
● 如果完成某个业务,