MySQL之事务特性

来源:互联网 发布:周金涛2019买点知乎 编辑:程序博客网 时间:2024/06/06 08:59

背景

 

        又到了一周一度的周末技术分享,今天成云师姐回来给我们分享MySQL 技术,着重讲了事务。

        提起事务,之前自己对事务的了解和应用也就是机房收费的时候,用事务来同时操作几张表,

来保证数据正确性。

        师姐又延伸到了隔离级别,感觉有些收获,还是写到博客里来吧~师姐分享主要内容如下图:

 


 

事务特性

 

         一说起事务的特性,自学考试学数据库的时候小组一起讲的ACID概念就出来了。问过几个同学

对事务的理解之后,师姐总结出来一点,回答问题的时候,最好是从是什么,为什么,怎么用

三方面来展开。用自己所理解的话,而不是课本上背来的概念。

        ❀Atomicity:原子性就是讲你一个事务要进行必须就要完整的进行。

    师姐举了一个例子,讲吃东西,吃了菜,吃了鸡腿,嚼了嚼,发现鸡腿坏了,想吐掉鸡腿,你

怎么吐? 你能分开只吐掉鸡腿么?? 必然不能,你吐的话必须都吐出来。然而,你是个及其注意自己

形象的人,不能众目睽睽下吐,只能忍着咽下。咽也只能都咽下去。虽然略微恶心了些,再也无法正视

鸡腿了,但是原子性的概念是不是更加清晰一些了呢?

      ❀Consistency:关于一致性,大家还是讨论了一些时间,才得出的结论。就是状态的一致变化,

从一种状态到另一种状态的变化事务必须保持一致。

         举个栗子,有五张表要进行插入操作,这时候事务的状态要么是五张表都未进行操作,要么就

是五张表都进行完了插入操作。不能存在一张表完成操作,其余四张没有完成操作的情况。

       ❀Isolation:隔离性就比较好理解了,事务与事务之间就像高速公路上的车道一样是互不打扰和

影响的。

       ❀Durability:持久性就是指事务完成全部操作后,它对数据库所有更新,都永久的反映在了

数据库里。

 

特别提醒

 

             1.有关事务,start一个事务必然要对应一个commit

             2.注意数据库里的刷新。

             3.学习工作中注意细节SQL语句注意符号书写。也要配置文件的细节。很多头疼的bug,

其实都是很低级的错误。

             4.遇到bug,一定要看错误日志,会帮助你更高效发现和解决问题。

             5.数据库操作的受影响行数提示也是很重要的一个因素。


小结

 

                  本篇博客主要是又回顾和加深了对于事务特性的理解,下一篇博客将会写写隔离级别的内容~~

谢谢悦读,下篇见~~


 

1 0