INNODB

INNODB,是Mysql5.7的默认存储引擎,是事务安全的,支持ACID,具有提交,回滚和crash-recovery【灾备】能力,以保护用户数据。

优势:一旦Server崩溃,Innodb会自动保存已提交的数据,undo未被提交的事务;不会产生业务上的影响。

Innodb buffer pool 会缓存被访问的数据,可加速数据处理。

将关联数据拆分到多个表,需建立外键【foreign key】以确保数据完整性。

为表建立适当的主键【primary key】,这样在引用主键时where ,order by ,group by ,join 会很快。

在 insert,update ,delete 时自动使用change buffering机制,缓存已更改数据。

Adaptive Hash Index 风格会加快耗时的重复数据查询。

压缩表和相关index.

可以较小的影响【性能和可用性】来创建和删除index.

使用DYNAMIC row format,对于BLOB和长文本类型的处理更高效。

可以通过查询 INFORMATION_SCHEMA中表来监控存储引擎的内部工作情况。

通过查询performance_schema中表来监控存储引擎的详细性能信息。

For InnoDB-specific tuning techniques you can apply in your application code, see Section 9.5, “Optimizing for InnoDB Tables”.

Innodb 现可以使用FULLTEXT索引执行全文检索;

Innodb 现在具有更出色的读表现。

布置于只读媒介上的程序现可以使用Innodb表。

InnoDB 是多版本控制存储引擎,将被改变行的旧版本信息存储于表空间的rollback segment 区域中。Innodb可使用该区域的信息执行undo操作【在事务回滚时】;也使用该信息构建譔行的早期版本数据。

时间: 2024-08-19 11:53:59

INNODB的相关文章

mysql5.7 innodb数据库备份工具Xtrabackup的安装

mysql5.7 innodb数据库备份工具Xtrabackup的安装     wget mhttps://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.7/binary/redhat/6/x86_64/percona-xtrabackup-24-2.4.7-1.el6.x86_64.rpm Mysql5.7需要安装XtraBackup 2.4.1以上版本 官网地址 https://www.percona.com/down

mysql之show engine innodb status解读(转)

add by zhj: 我第一次知道这个命令是线上服务出了问题,然后同事用这个命令去查看死锁.但用这个命令看死锁有一定的局限性,它只能看到最后一次死锁, 而且只能看到死锁环中的两个事务所执行的最后一条语句(即被死锁卡住的那条语句),看不到整个死锁环,也看到不整个事务的语句.但是即使这亲,对我 们来说也非常有用,因为一般来说,数据库同时存在多个死锁环的可能性比较小,而且有了死锁环中的事务的最后一条语句,我们找到整个死锁环不是太难. "show engine innodb status"这

MyISAM与Innodb数据库引擎的区别

1. 存储结构 2. 存储空间 3. 可移植性.备份及恢复 4. 事务支持 5. 自增长 6. 表锁差异 7. 全文索引 8. 表主键 9. 表的具体行数 10. CURD操作 11. 外键 MySQL存储引擎中的MyISAM和InnoDB区别详解

误删除innodb ibdata数据文件-之恢复

今天在群里看到有人说不熟悉innodb把ibdata(数据文件)和ib_logfile(事务日志)文件误删除了.不知道怎么解决.当时我也不知道怎么办.后来查阅相关资料.终找到解决方法.其实恢复也挺简单的.我们不知道的时候就觉得难了.谁说不是这样呢? 下面我们就来模拟生产环境下,人为删除数据文件和重做日志文件.然后详细说明恢复步骤. 1.用sysbench模拟数据的写入,如下所示: [[email protected] ~]# sysbench --test=oltp --oltp-table-s

Innodb存储引擎

特点:支持事务.锁定机制的改进,Innodb改变了MylSAM的锁机制,实现了行锁.实现外键..frm文件来存放结构定义相关的元数据,但是表数据和索引数据是存在一起的,每个表单独存放还是表存放在一起,完全由用户来决定. 理论:Innodb的物理结构分为两大部分 数据文件(表数据和索引数据) 存放表中的数据和所有的索引数据,包括主键和其他普通索引.Innodb中,存在了表空间这样的概念,和oracle的表空间又有较大的不同.Innodb的表空间分为两种形式.一种是共享表空间,就是所有表和索引数据存

MySQL存储引擎MyISAM与InnoDB的优劣

使用MySQL当然会接触到MySQL的存储引擎,在新建数据库和新建数据表的时候都会看到. MySQL默认的存储引擎是MyISAM,其他常用的就是InnoDB了. 至于到底用哪种存储引擎比较好?这个问题是没有定论的,需要根据你的需求和环境来衡量.所以对这两种引擎的概念.原理.异同和各自的优劣点有了详细的了解之后,再根据自己的情况选择起来就容易多了. MyISAM InnoDB 存储结构 每张表被存放在三个文件: frm-表格定义 MYD(MYData)-数据文件 MYI(MYIndex)-索引文件

Innodb后台线程

1.maste thread 负责将缓冲池中的数据异步刷新到磁盘,保证数据的一致性. 2.IO Thread负责IO请求的回调处理.1.0版本之前有4个IO Thread,负责write.read.insert buffer和log IO Thread1.0.x开始,read thread和write thread分别增加到4个,不再使用innodb_file_io_threads参数,而是使用innodb_read_io_threads和innodb_write_io_threads mysq

MyISAM 与 InnoDB 区别

构成上的区别: 每个MyISAM在磁盘上存储成三个文件. 第一个文件的名字以表的名字开始,扩展名指出文件类型.  .frm文件存储表定义. 数据文件的扩展名为.MYD (MYData). 索引文件的扩展名是.MYI (MYIndex). 基于磁盘的资源是InnoDB表空间数据文件和它的日志文件,InnoDB 表的大小只受限于操作系统文件的大小,一般为 2GB 事务处理上方面: MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持 InnoDB提供事务支持事务,外

Mysql数据库引擎(MyISAM、InnoDB)

MyISAM.InnoDB区别 nnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定. 基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持.MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能.

innodb部分常用参数解析

一.文件(数据文件.日志文件) 1.相关参数: innodb_data_home_dir innodb_data_file_path=file_name:file_size[:autoextend[:max:max_file_size]] 注: a.innodb_data_file_path的值应该为一个或多个 数据文件规格的列表.如果命名一个以上的数据文件,用 分号(';')分隔它们 b.autoextend属性和后面跟着的属性只可被用来对innodb_data_file_path行里最后一个