背景
又到了一周一度的周末技术分享,今天云姐回来给我们分享MySQL 技术,着重讲了事务。
提起事务,之前自己对事务的了解和应用也就是机房收费的时候,用事务来同时操作几张表,
来保证数据正确性。
云姐又延伸到了隔离级别,感觉有些收获,还是写到博客里来吧~云姐分享主要内容如下图:
事务特性
一说起事务的特性,自学考试学数据库的时候小组一起讲的ACID概念就出来了。问过几个同学
对事务的理解之后,师姐总结出来一点,回答问题的时候,最好是从是什么,为什么,怎么用这
三方面来展开。用自己所理解的话,而不是课本上背来的概念。
❀Atomicity:原子性就是讲你一个事务要进行必须就要完整的进行。
云姐举了一个例子,讲吃东西,吃了菜,吃了鸡腿,嚼了嚼,发现鸡腿坏了,想吐掉鸡腿,你
怎么吐? 你能分开只吐掉鸡腿么?? 必然不能,你吐的话必须都吐出来。然而,你是个及其注意自己
形象的人,不能众目睽睽下吐,只能忍着咽下。咽也只能都咽下去。虽然略微恶心了些,再也无法正视
鸡腿了,但是原子性的概念是不是更加清晰一些了呢?
❀Consistency:关于一致性,大家还是讨论了一些时间,才得出的结论。就是状态的一致变化,
从一种状态到另一种状态的变化事务必须保持一致。
举个栗子,有五张表要进行插入操作,这时候事务的状态要么是五张表都未进行操作,要么就
是五张表都进行完了插入操作。不能存在一张表完成操作,其余四张没有完成操作的情况。
❀Isolation:隔离性就比较好理解了,事务与事务之间就像高速公路上的车道一样是互不打扰和
影响的。
❀Durability:持久性就是指事务完成全部操作后,它对数据库所有更新,都永久的反映在了
数据库里。
特别提醒
1.有关事务,start一个事务必然要对应一个commit 。
2.注意数据库里的刷新。
3.学习工作中注意细节。SQL语句注意符号书写。也要配置文件的细节。很多头疼的bug,
其实都是很低级的错误。
4.遇到bug,一定要看错误日志,会帮助你更高效发现和解决问题。
5.数据库操作的受影响行数提示也是很重要的一个因素。
小结
本篇博客主要是又回顾和加深了对于事务特性的理解,下一篇博客将会写写隔离级别的内容~~
谢谢悦读,下篇见~~