一、事务隔离级别

理解各种事务隔离级别的优缺点

(一)四种事务隔离级别总结

(二)四种事务隔离级别下,去重现脏读现象、不可重复读现象、幻读现象

1、在RU隔离级别下,会出现脏读现象

2、在RC隔离级别下,会出现不可重复读现

3、在RR隔离级别下,理论上会幻读现象,但是innodb存储引擎已经利用MVCC机制解决了RR下的幻读问题。

二、UNDO和REDO日志

(一)UNDO日志

1、undo日志是为了实现事务的原子性,以及实现了多版本并发控制MVCC;
2、事务在修改之前先将前镜像存入到undo日志来保证事务的原子性(undo日志存储在共享表空间里,也会在innodb缓冲池里缓存undo页)。

(二)REDO日志

1、redo日志保证数据库的持久性,也用于实例恢复;
2、redo log是innodb的事务日志,存放在ib_logfile*文件里,有专门的缓存内存(log buffer pool)
相比redo log,undo log没有单独的日志文件,存放在共享表空间(idbdata文件),且没有单独的缓存内存,存放在innod缓冲池(innodb buffer pool)*

第八课——MySQL优化之InnoDB基础原理的更多相关文章

  1. MySQL优化的一些基础

    在Apache, PHP, mysql的体系架构中,MySQL对于性能的影响最大,也是关键的核心部分.对于Discuz!论坛程序也是如此,MySQL的设置是否合理优化,直接 影响到论坛的速度和承载量! ...

  2. MySQL优化步 (InnoDB)

    MySQL优化步 (InnoDB) 优化的优先级 数据库结构设计 SQL语句 数据库存储引擎和选择和参数配置 系统选择及优化 硬件升级 图书 MySQL必知必会 高性能MySQL 深入浅出MySQL ...

  3. 第九课——MySQL优化之索引和执行计划

    一.创建索引需要关注什么? 1.关注基数列唯一键的数量: 比如性别,该列只有男女之分,所以性别列基数是2: 2.关注选择性列唯一键与行数的比值,这个比值范围在0~1之前,值越小越好: 其实,选择性列唯 ...

  4. MySQL系列(九)--InnoDB索引原理

    InnoDB在MySQL5.6版本后作为默认存储引擎,也是我们大部分场景要使用的,而InnoDB索引通过B+树实现,叫做B-tree索引.我们默认创建的 索引就是B-tree索引,所以理解B-tree ...

  5. Mysql优化系列--Innodb引擎下mysql自身配置优化-转

    原文链接:http://www.cnblogs.com/kevingrace/p/6133818.html 谢谢楼主 1.简单介绍 InnoDB给MySQL提供了具有提交,回滚和崩溃恢复能力的事务安全 ...

  6. [妙味JS基础]第八课:return、定时器基础

    知识点总结 return 1)函数名+括号 = return 返回值 2)所有的函数默认的返回值 = 未定义 3)return后面的代码不执行 arguments  =>为实参的集合,当参数个数 ...

  7. 八,mysql优化——读写分离

    读写分离目的是给大型网站缓解查询压力.

  8. 深入浅出分析MySQL MyISAM与INNODB索引原理、优缺点、主程面试常问问题详解

    本文浅显的分析了MySQL索引的原理及针对主程面试的一些问题,对各种资料进行了分析总结,分享给大家,希望祝大家早上走上属于自己的"成金之路". 学习知识最好的方式是带着问题去研究所 ...

  9. 深入浅出分析MySQL MyISAM与INNODB索引原理、优缺点分析

    本文浅显的分析了MySQL索引的原理及针对主程面试的一些问题,对各种资料进行了分析总结,分享给大家,希望祝大家早上走上属于自己的"成金之路". 学习知识最好的方式是带着问题去研究所 ...

随机推荐

  1. 如何使用微信JS-SDK实际分享功能

    http://jingyan.baidu.com/album/d3b74d64c517051f77e609ed.html?picindex=7

  2. Integer类型的数据比较大小

    因为实体类用的是Integer包装类,所以是对象,不能直接比较大小, 一.一个Integer一个Int可以直接比较大小 二.两个Integer需要用.intValue()方法比较大小: 例如:cw.g ...

  3. zombie处理

    僵尸进程处理 程序处理(预处理) 父进程wait/waitpid. signal(SIGCHLD, SIG_IGN); 捕捉SIGCHLD,signal(SIGCHLD, handler);可获取子进 ...

  4. thinkphp 命名规范

    目录和文件命名 目录和文件名采用 小写+下划线,并且以小写字母开头: 类库.函数文件统一以.php为后缀: 类的文件名均以命名空间定义,并且命名空间的路径和类库文件所在路径一致(包括大小写): 类名和 ...

  5. zend Studio10.6.2 下载

    http://www.th7.cn/Program/php/201409/286788.shtml

  6. 获取checkbox 组成字符串

    <input type="checkbox" id="goods_server_name" name="goods_server_name[]& ...

  7. CentOS切换桌面模式和命令行模式

    CentOS系统中命令行模式的快捷键是[Ctrl]+[Alt]+[F1]~[F6],桌面模式的快捷键为[Ctrl]+[Alt]+[F7] 转自: http://blog.sciencenet.cn/b ...

  8. jQuery的end()方法使用详解

    end()方法的定义和用法: end()方法能够回到最近的一个"破坏性"操作之前,即将匹配的元素列表变为前一次的状态.如果没有破坏性操作将返回一个空集.破坏性操作的概念:指任何改变 ...

  9. jQuery编程中的一些核心方法简介

    调用 jQuery 对象的方法很简单: $('h1').remove(); 大多数 jQuery 方法都是像上面这样被调用的,这些方法都位于 $.fn 命名空间内,这些方法称为 jQuery 对象方法 ...

  10. HDU 2159 FATE(二维全然背包)

    中文题目就不用解释了   就是裸的二维全然背包 d[i][j]表示消耗i忍耐杀j个怪最多可获得的经验  然后就用全然背包来做了  二维背包背包只是是多了一重循环 <span style=&quo ...