美文网首页事务
MySQL基础知识

MySQL基础知识

作者: 小鱼嘻嘻 | 来源:发表于2017-12-12 08:33 被阅读4次
    数据库事物四大特性
    • 原子性
    • 一致性
    • 隔离性
    • 持久性
    事物四大隔离级别
    • read uncommited (读未提交)
    • read commited (读已提交)
    • repeatable read(重复读) (mysql innodb 默认)
    • serializable (串行化)
    不同的隔离级别产生的问题
    • 脏读
      当默认级别为读未提交的时候会产生脏读,主要场景是这样的,用户A向用户B转账100元,A的事物尚未提交,B如果读到了A,就以为100已经给他了,但是如果A在这个时候提交事物失败,事物回滚了,就会造成脏读。
    • 不可重复度
      当默认级别是读已提交的时候会产生不可重复度,主要场景是这样的,假设A第一次查B的账户为100元,然后A想上个厕所之后,再把B的100转过了,就在这个时候B在外面做了一个大保健把钱已经付了,当A上厕所回来的时候再次查询的时候发现B的账户为0,这就是不可重复度。
    • 幻读
      当默认级别是重复读的时候会产生幻读,主要场景是这样的,假设班长第一次清点班里的人数为50个,有5个迟到的偷偷从后门溜进去,班主任要求班长再次清点的时候发现有55个,这个时候班长以为自己出现了幻觉,这就是幻读。
    undo log & redolog & binlog
    • binlog
      主要是二进制的文件,主要用于主从同步。
    • redolog
      事物在进行的过程中会产生很多redolog,当事物提交的时候会把redolog一次性的写入磁盘
    • undolog
      当在数据修改的时候不仅会产生redolog,而且还会产生undolog,undolog的作用主要是用于撤回操作,它记录的是操作的反方向,比如新的它记得就是删除,修改它记得就是修改前的数据。
    聚簇索引&非聚簇索引
    • 聚簇索引
      在每一张表里面都有唯一的主键索引,这个主键索引就是聚簇索引,一张表只有一个主键也就只有一个聚簇索引。聚簇索引的特点是:b+树的叶子节点保存的就是当前数据。
    • 非聚簇索引
      任何非主键索引都可以称为非聚簇索引,他的特点是:b+树的叶子节点保存的不是当前数据而是对应的聚簇索引节点的位置。

    相关文章

      网友评论

        本文标题:MySQL基础知识

        本文链接:https://www.haomeiwen.com/subject/idlgixtx.html