14.1.1 使用InnoDB 表的好处:
14.1.1 Benefits of Using InnoDB Tables
14.1.2 Best Practices for InnoDB Tables
14.1.3 Checking InnoDB Availability
14.1.4 Testing and Benchmarking with InnoDB
14.1.5 Turning Off InnoDB InnoDB 是一个多用途的存储引擎 平衡高可靠性和高性能。 在MySQL 5.6,InnoDB 是默认的存储引擎。 除非你配置一个不同的默认存储引擎, 执行一个CREATE TABLE statement without an ENGINE= clause 创建一个InnoDB 表 InnoDB 包含所有的功能在Mysql 5.1 是InnoDB插件的部分,加上新的指定的到MySQL 5.5或者更高 mysql和INFOMATION_SCHEMA databases 实现Mysql 内部仍旧使用MyISAM表。 特别的,你不能切换grant table 来使用InnoDB InnoDB 的关键优势: InnoDB 包含的关键优势: 1.它的DML 操作遵循ACID 模型, 事务具有提交,回滚, crash-recovery 来保护用户数据 2. 行级锁和Oracle风格一致性读增加了多用户并发和性能 3.InnoDB 表安排他的数据在磁盘优化查询基于主键。 每个InnoDB 有一个主键被称为 clustered index 组织数据最小化I/O用户主键查询 4.为了维护数据完整行,InnoDB 支持FOREIGN KEY约束。 使用外键,inserts, updates, and deletes 会被检查确保 它们不会导致在不同的表不一致性 14.1.1 使用InnoDB 表的好处: 如果你使用MyISAM 表但是由于技术原因没有提交,你会发现InnoDB 表收益有下面原因; 1.如果你的server crashes 因为硬件或者软件问题,无论发生什么在那个时间点, 你不需要做任何事情在重启数据库后。InnoDB crash recovery 自动的完成 任何改变提交的在crash的那个时间点, 不做任何改变 对于那些没有提交的 2.InnoDB 存储引擎维护它自己的buffer pool, cache表和index 数据在主内存作为数据被访问。 频繁的使用数据是被直接从内存处理。 这个缓存适用于很多类型的信息和加速处理。 在专用数据库里,多大80%的物理内存是被分配给InnoDB buffer pool 3.如果你拆分相关的数据到不同的表,你可以设置外键来加强完整性。 4.如果数据变的损坏在磁盘或者在内存,一个checksum 机制提醒你虚假数据在你使用它之前 5.当你设计你的数据库使用适当的主键列用于每个表,操作涉及的那些列是自动被优化的。 是非常快的 引用主键列在WHERE 子句,order by 子句 GROUP BY clauses, and join operations. 6.Inserts, updates, and deletes 是被优化的通过一个自动机制称为 change buffering, InnoDB 不只是允许并发读和写访问相同的表,它cahce 改变的数据组织成磁盘I/O 7.性能优势不限于 巨大的表使用大的查询, 当相同的记录被访问通过从一个表, 一个功能称为自适应Hash Index 接管让那些查询更快,如果它们来到一个hash表 8.你可以压缩表和相关的索引 9.你可以创建和drop 索引 对性能有更少的影响和可用性 10.truncate 一个file-per-table tablespace 是非常快的, 可以释放磁盘空间用于操作系统重用, 相比释放system tablespace的空间 只有InnoDB可以重用 11.存储布局对于表数据是更加有效的对于BLOB和 long text fields, 使用动态行格式 12.你可以通过查询INFORMATION_SCHEMA tables来监控存储引擎内部的工作 13.通过查询Performance Schema tables. 来监控存储引起的性能 14.你可以自由的混合InnoDB表从其他的MySQL 存储引擎, 15.InnoDB 被设计对于CPU效率和最大性能 当处理大量数据时 16.InnoDB 表可以处理大量的数据,即使操作系统 文件限制为2GB 17.
14.1.1 使用InnoDB 表的好处:的更多相关文章
- 14.8.4 Moving or Copying InnoDB Tables to Another Machine 移动或者拷贝 InnoDB 表到另外机器
14.8.4 Moving or Copying InnoDB Tables to Another Machine 移动或者拷贝 InnoDB 表到另外机器 这个章节描述技术关于移动或者复制一些或者所 ...
- 14.8.3 Physical Row Structure of InnoDB Tables InnoDB 表的物理行结构
14.8.3 Physical Row Structure of InnoDB Tables InnoDB 表的物理行结构 一个InnoDB 表的物理行结构取决于在创建表指定的行格式 默认, Inno ...
- 14.8.2 Role of the .frm File for InnoDB Tables InnoDB 表得到 .frm文件的作用
14.8.2 Role of the .frm File for InnoDB Tables InnoDB 表得到 .frm文件的作用 Vsftp:/data01/mysql/zjzc# ls -lt ...
- 14.8.1 Creating InnoDB Tables 创建InnoDB 表
14.8.1 Creating InnoDB Tables 创建InnoDB 表 创建一个InnoDB表,使用CREATE TABLE 语句,你不需要指定ENGINE=InnoDB 子句 如果Inno ...
- 14.1.2 InnoDB表最佳实践:
14.1.2 Best Practices for InnoDB Tables InnoDB表最佳实践: 这个章节描述使用InnoDB表最佳实践: 1.指定一个主键用于每个表使用最多查询的列或者多列, ...
- 14.6.7?Limits on InnoDB Tables InnoDB 表的限制
14.6.7?Limits on InnoDB Tables InnoDB 表的限制 警告: 不要把MySQL system tables 从MyISAM 到InnoDB 表. 这是不支持的操作,如果 ...
- 14.6.2 Moving or Copying InnoDB Tables to Another Machine 移动或者copy InnoDB 表到另外的机器
14.6.2 Moving or Copying InnoDB Tables to Another Machine 移动或者copy InnoDB 表到另外的机器 这个章节描述技术关于移动或者copy ...
- 14.6.1 Creating InnoDB Tables 创建InnoDB 表:
14.6.1 Creating InnoDB Tables 创建InnoDB 表: 创建一个InnoDB 表,使用CREATE TABLE 语句,你不需要指定 ENGINE=InnoDB子句 如果In ...
- 14.5.7 Storing InnoDB Undo Logs in Separate Tablespaces 存储InnoDB Undo logs 到单独的表空间
14.5.7 Storing InnoDB Undo Logs in Separate Tablespaces 存储InnoDB Undo logs 到单独的表空间 在MySQL 5.6.3,你可以存 ...
随机推荐
- Core OS 层
Core OS层的底层功能是很多其他技术的构建基础.通常情况下,这些功能不会直接应用于应用程序,而是应用于其他框架.但是,在直接处理安全事务或和某个外设通讯的时候,则必须要应用到该层的框架. Acce ...
- Android 省市县 三级联动(android-wheel的使用)[转]
转载:http://blog.csdn.net/lmj623565791/article/details/23382805 今天没事跟群里面侃大山,有个哥们说道Android Wheel这个控件,以为 ...
- 实例化讲解 RunLoop
实例化讲解RunLoop 之前看过很多有关RunLoop的文章,其中要么是主要介绍RunLoop的基本概念,要么是主要讲解RunLoop的底层原理,很少用真正的实例来讲解RunLoop的,这其中有大部 ...
- RunTime 应用实例–关于埋点的思考
埋点是现在很多App中都需要用到的,这个问题可能每个人都能处理,但是怎样来减少埋点所带来的侵入性,怎样用更加简洁的方式来处理埋点问题,怎样减少误埋,如果上线了发现少埋了怎么办?下面是本文讨论的重点: ...
- NYOJ 47过河问题
主要思路:先排序.有两种可能是最小的情况,一种是让最小的去带着最大的过去,然后最小的再回来,还有一种就是先最小的和第二小的一块过去, 然后最小的回来,让最大的和第二大的过去,接着第二小的回来,第二小和 ...
- codevs3013单词背诵
/* 手打的哈希+线性的维护 第一问:hash一下 并且用个h记录某个单词要背的 第二问:线性的跑一边 开始队列里装下前一些单词使这一坨符合要求 并且记录出现次数num 然后开始从前面删 删除的条件: ...
- 新闻web小酌
首页如上 类图如下: 添加新闻的方法(dao): public boolean Add(News news) { boolean flag=false; Connection con =getConn ...
- 使用Javascript限制文本框只允许输入数字
很多时候需要用到限制文本框的数字输入,试过许多方法,都不太理想,遂决定自己实现一个来玩玩.曾经使用过的方法通过onkeydown事件来控制只允许数字: <input onkeydown=&quo ...
- MySQL where
MySQL where 子句 我们知道从MySQL表中使用SQL SELECT 语句来读取数据. 如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句中. 语法 以下是SQL ...
- 嘟!数字三角形 W WW WWW集合!
哔!数字三角形全体集合! 数字三角形!到! 数字三角形W!到! 数字三角形WW!到! 数字三角形WWW!到! --------------------------------------------- ...