MySQL(一):MySQL中的事务

来源:互联网 发布:多条件计算不重复数据 编辑:程序博客网 时间:2024/05/22 16:59

【目录】

  • MySQL(一):MySQL中的事务
  • MySQL(二):MySQL性能优化


【前言】

     MySQL中的事务是MySQL中重要的一部分内容;这次自己抽时间将它系统的学习了一遍;

【不得不知事务四大特性】

     一、事物的四大特性

         ACID

     二、深入Isolation

         针对ACID中的I提到的四个隔离级别也是十分有趣的一部分内容

         1.分类

         (1)未提交读---READ UNCOMMITTED

         (2)提交读---READ COMMITTED

         (3)可重复读---REPEATABLE READ---MySQL默认的隔离级别

         (4)序列化---SERIALIZABLE

         2.多个事务遇到问题

          (1)脏读

          (2)不可重复读

          (3)幻读

         3.实验:

          (1)设置MySQL的隔离级别的方法:

               一是通过修改配置文件 

               二是通过命令(三种)                 

                 带gloable的设置的是整个数据库的,设置后本session不起作用,以后的session起作用

                 带session的是只针对本次会话有效的

                 什么都不带的只针对下一个事务有效

          (2)步骤:

               在不同的事务隔离级别中查值

               一个会话A开启事务

              另一个会话B也开启事务

              在会话B中查值

              在会话A中查值

              在会话B中查值

              会话A提交

              会话B中再查值

         4.小结:

          (1)事务隔离级别越高性能越差

          (2)建议是可重复读

【总结】

     1.多思考---多问自己为什么这么做,如果不这么做会有什么弊端,这么做又有什么好处,然后权衡利弊;

     2.从原理着手,用实验去验证。

原创粉丝点击