InnoDB存储引擎的高级特性大盘点】的更多相关文章

InnoDB作为mysql数据库最常用的存储引擎,自然包含了其独有的很多特性.如相比于memory.MyISAM引擎,InnoDB支持行级锁.事务等都是比较重要的特性. 本文将盘点下InnoDB处理事务和行级锁之外的高级特性 一.自适应哈希 innodb建立索引时,只可以建立B+tree索引,是不可以建立hash索引的,而hash索引相对于B+tree索引,虽然无法实现排序.范围检索的效果,但是在等值检索的时候,毫无疑问要比B+tree索引的效率要高很多. 所以innodb就在B+tree索引的…
第一部分:线程 Innodb是一个多线程的,各个线程负责不同的任务.主要的线程有:Master Thread.IO Thread.Purge Thread.Page Cleaner Thread. 一,Master Thread :刷写数据.回收undo.回收脏页.合并插入缓冲 具有最高的优先级别,内部有多个循环(loop)组成:主循环(loop).后台循环(background loop).刷新循环(flush loop).暂停循环(suspend loop),根据数据库的运行情况会在这些循环…
MySQL技术内幕:InnoDB存储引擎(第2版) 姜承尧 第1章 MySQL体系结构和存储引擎 >> 在上述例子中使用了mysqld_safe命令来启动数据库,当然启动MySQL实例的方法还有很多,在各种平台下的方式可能又会有所不同. >> 当启动实例时,MySQL数据库会去读取配置文件,根据配置文件的参数来启动数据库实例.这与Oracle的参数文件(spfile)相似,不同的是,Oracle中如果没有参数文件,在启动实例时会提示找不到该参数文件,数据库启动失败.而在MySQL数…
master thread的县城优先级别最高.其内部由几个循环(loop)组成:主循环(loop).后台循环(background loop).刷新循环(flush loop).暂停循环(suspend loop).master thread 会根据数-据库运行的状态在loop,background loop.flush loop 和suspend loop 中进行切换.                每秒一次的操作:        1.日志缓冲刷新到磁盘,即使这个事务还没有提交(总是).   …
以下的资料总结自:官方文档和<MySQL技术内幕-INNODB存储引擎>一书. 对INNODB存储引擎缓冲池的那一段描述来自博文:http://www.ywnds.com/?p=9886说句实话这片博文写的很清楚,通过问答形式加紧逻辑性! 这篇文字会详细的说明INNODB存储引擎的体系结构及特性. INNODB存储引擎的内存管理 Checkpoint技术 INNODB存储引擎的关键特性 插入缓冲 DOUBLEWRITE AHI(自适应哈希索引) 异步IO 刷新临近页 INNODB的体系结构 首…
00 – Undo Log Undo Log 是为了实现事务的原子性,在MySQL数据库InnoDB存储引擎中,还用Undo Log来实现多版本并发控制(简称:MVCC). - 事务的原子性(Atomicity)   事务中的所有操作,要么全部完成,要么不做任何操作,不能只做部分操作.如果在执行的过程中发生   了错误,要回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过. - 原理   Undo Log的原理很简单,为了满足事务的原子性,在操作任何数据之前,首先将数据备份到…
1.前言 相信工作了一段时间的同学肯定都用过事务,也都听说过事务的4大特性ACID.ACID表示原子性.一致性.隔离性和持久性.一个很好的事务处理系统,必须具备这些标准特性: 原子性(Atomicity):一个事务必须被视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚. 一致性(consistency):数据库总是从一个一致性的状态转换到另一个一致性的状态.(其实原子性和隔离性间接的保证了一致性) 隔离性(isolation):通常来说,一个事务所做的修改在…
使用独立表空间后,系统表空间存储什么内容呢?   1.innodb 数据字典信息   和存储引擎相关.   frm 是服务器的数据字典和存储引擎无关. 2. undo 回滚段.   可以单独存储.   INNODB存储引擎特性 1.事务性存储引擎. 2.支持ACID特性 redo log 和 undo log redo log 实现事务的持久性. 包括两部分: 1.内存中的重做日志缓冲区. 2.文件系统的 ib_logfilex. show variables like 'innodb_log_…
最近在数据库优化的时候,看到一些表在设计上使用了text或者blob的字段,单表的存储空间已经达到了近100G,这种情况再去改变和优化就非常难了 一.简介 为了清楚大字段对性能的影响,我们必须要知道innodb存储引擎的处理方式: 1.一些知识点 1.1 在InnoDB 1.0.x版本之前,InnoDB 存储引擎提供了 Compact 和 Redundant(Redundant 格式是为兼容之前版本而保留的) 两种格式来存放行记录数据,compact 和 redundant 合称为Antelop…
最近在数据库优化的时候,看到一些表在设计上使用了text或者blob的字段,单表的存储空间已经达到了近100G,这种情况再去改变和优化就非常难了 一.简介 为了清楚大字段对性能的影响,我们必须要知道innodb存储引擎的处理方式: 1.一些知识点 1.1 在InnoDB 1.0.x版本之前,InnoDB 存储引擎提供了 Compact 和 Redundant(Redundant 格式是为兼容之前版本而保留的) 两种格式来存放行记录数据,compact 和 redundant 合称为Antelop…