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. Qt 学习之路:线程和事件循环

    前面一章我们简单介绍了如何使用QThread实现线程.现在我们开始详细介绍如何“正确”编写多线程程序.我们这里的大部分内容来自于Qt的一篇Wiki文档,有兴趣的童鞋可以去看原文. 在介绍在以前,我们要 ...

  2. linux 获取系统屏幕分辨率

      在Windows下可以使用GetSystemMetrics(SM_CXSCREEN);GetSystemMetrics(SM_CYSCREEN) 获取. 在Linux下可以使用XDisplayWi ...

  3. Python中的map()函数和reduce()函数的用法

    Python中的map()函数和reduce()函数的用法 这篇文章主要介绍了Python中的map()函数和reduce()函数的用法,代码基于Python2.x版本,需要的朋友可以参考下   Py ...

  4. codevs3304水果姐逛水果街

    /* 线段树开到*4 *4 *4 *4 ! 维护 4个值 区间最大值 区间最小值 从左往右跑最大收益 从右往左跑最大收益 */ #include<iostream> #include< ...

  5. codevs2622数字序列( 连续子序列最大和O(n)算法)

    /* 算法描述:维护一个s[p]表示累加和 并且更新最大值ans 如果s[p]<0 则从p+1重新累加 证明:设某个区间的起点和终点分别为s t 分两种情况 1.t<p:设s2表示1到s的 ...

  6. C#中的占位符

    当我们需要在屏幕上输出一句话的时候,如果不断的使用+来连接各个字符串,一是容易出错,二是代码显示的非常乱.这时候,占位符就能够发挥作用! 占位符: string name="张三" ...

  7. 大牛对ACM入门菜鸟的一些话

    首先就是我为什么要写这么一篇日志.原因很简单,就是因为前几天有个想起步做ACM人很诚恳的问我该如何入门.其实就现在而言,我并不是很想和人再去讨论这样的话题,特别是当我发现我有很多的东西要学的时候,我实 ...

  8. Java实现文件上传

    最近自己在做一个小系统玩的时候涉及到了文件的上传,于是在网上找到Java上传文件的方案,最后确定使用common-fileupload实现上传操作. 需求说明 用户添加页面有一个“上传”按钮,点击按钮 ...

  9. (转)mysql 的 find_in_set函数使用方法

    举个例子来说: 有个文章表里面有个type字段,他存储的是文章类型,有 1头条,2推荐,3热点,4图文 .....11,12,13等等 现在有篇文章他既是 头条,又是热点,还是图文, type中以 1 ...

  10. 使用ol,添加图书销售排行榜

    如果想在网页中展示有前后顺序的信息列表,怎么办呢?如,当当网上的书籍热卖排行榜,如下图所示. 这类信息展示就可以使用<ol>标签来制作有序列表来展示. 语法: <ol> < ...