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 表的好处:的更多相关文章

  1. 14.8.4 Moving or Copying InnoDB Tables to Another Machine 移动或者拷贝 InnoDB 表到另外机器

    14.8.4 Moving or Copying InnoDB Tables to Another Machine 移动或者拷贝 InnoDB 表到另外机器 这个章节描述技术关于移动或者复制一些或者所 ...

  2. 14.8.3 Physical Row Structure of InnoDB Tables InnoDB 表的物理行结构

    14.8.3 Physical Row Structure of InnoDB Tables InnoDB 表的物理行结构 一个InnoDB 表的物理行结构取决于在创建表指定的行格式 默认, Inno ...

  3. 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 ...

  4. 14.8.1 Creating InnoDB Tables 创建InnoDB 表

    14.8.1 Creating InnoDB Tables 创建InnoDB 表 创建一个InnoDB表,使用CREATE TABLE 语句,你不需要指定ENGINE=InnoDB 子句 如果Inno ...

  5. 14.1.2 InnoDB表最佳实践:

    14.1.2 Best Practices for InnoDB Tables InnoDB表最佳实践: 这个章节描述使用InnoDB表最佳实践: 1.指定一个主键用于每个表使用最多查询的列或者多列, ...

  6. 14.6.7?Limits on InnoDB Tables InnoDB 表的限制

    14.6.7?Limits on InnoDB Tables InnoDB 表的限制 警告: 不要把MySQL system tables 从MyISAM 到InnoDB 表. 这是不支持的操作,如果 ...

  7. 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 ...

  8. 14.6.1 Creating InnoDB Tables 创建InnoDB 表:

    14.6.1 Creating InnoDB Tables 创建InnoDB 表: 创建一个InnoDB 表,使用CREATE TABLE 语句,你不需要指定 ENGINE=InnoDB子句 如果In ...

  9. 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,你可以存 ...

随机推荐

  1. [Javascrip] Logging Timing Data to the Console

    Learn to use console.time with console.timeEnd to get accurate timings of operations in javascript. ...

  2. 第一篇:数据工程师眼中的智能电网(Smart Grid)

    前言 想必第一次接触到智能电网这个概念的人,尤其是互联网从业者,都会顾名思义的将之理解为"智能的电网". 然而智能电网中的"智能"是广义上的智能,它就是指更好的 ...

  3. 从实践谈iOS生命周期

    从实践谈iOS生命周期 个人感觉生命周期无论在Android,还是iOS都是很重要的概念,因为在每个声明周期的状态下我们可以做很多预加载或者处理的操作.因此在这里主要总结下ViewController ...

  4. Git和Github的应用与命令方法总结

    title: Git和Github的应用与命令方法总结 date: 2016-07-11 14:03:09 tags: git/github [本文摘抄自微信公众平台:AndroidDeveloper ...

  5. android 安全退出应用程序的几种方法

    android 安全退出应用程序的几种方法 正常关闭应用程序: 当应用不再使用时,通常需要关闭应用,可以使用以下三种方法关闭android应用: 第一种方法:首先获取当前进程的id,然后杀死该进程.a ...

  6. ASP.net中网站访问量统计方法

    仅共学习 一.建立一个数据表IPStat用于存放用户信息 我在IPStat表中存放的用户信息只包括登录用户的IP(IP_Address),IP来源(IP_Src)和登录时间 (IP_DateTime) ...

  7. asp.net基础概念总结

    1  什么是asp.net?asp.net是一种编程语言吗? asp.net是Microsoft公司推出的新一代建立动态web应用程序的开发平台,是一种建立动态web应用程序的新技术. 不是,asp. ...

  8. Cocos2dx 3.2 节点之间相互通信与设置触摸吞噬的方法

    实际开发中,我们经常会遇到这样的情况.我们有一个层layer1,这个层包含一个menu层,menu1层里又包含了一个节点按钮button1.现在需要实现一个效果:点击button1弹出一个对话框,这个 ...

  9. 浅谈C++ 异常处理的语义和性能

    异常处理是个十分深奥的主题,这里只是浅论其对C++性能的影响. 在VC++中,有多个异常处理模式,三个最重要: No exception handling (无异常处理) C++ only (C++语 ...

  10. 【cogs247】售票系统

    [问题描述] 某次列车途经C个城市,城市编号依次为1到C,列车上共有S个座位,铁路局规定售出的车票只能是坐票, 即车上所有的旅客都有座.售票系统是由计算机执行的,每一个售票申请包含三个参数,分别用O. ...