---恢复内容开始---

一:MylSAM:创建一个myisam存储引擎的表的时候回出现三个文件1.tb_demo.frm,存储表定义;2.tb_demo.MYD,存储数据;3.tb_demo.MYI,存储索引。

二:InnoDB是一个健壮的事务型存储引擎MySQL 5.6.版本以后InnoDB就是作为默认的存储引擎。InnoDB还引入了行级锁定和外键约束,在以下场合下,使用InnoDB是最理想的选择:

1. 更新密集的表。InnoDB存储引擎特别适合处理多重并发的更新请求。

2.事务。InnoDB存储引擎是支持事务的标准MySQL存储引擎。

3.自动灾难恢复。与其它存储引擎不同,InnoDB表能够自动从灾难中恢复。

4.外键约束。MySQL支持外键的存储引擎只有InnoDB。

5.支持自动增加列AUTO_INCREMENT属性。

三:MEMORY使用MySQL Memory存储引擎的出发点是速度。为得到最快的响应时间,采用的逻辑存储介质是系统内存。虽然在内存中存储表数据确实会提供很高的性能,但当mysqld守护进程崩溃时,所有的Memory数据都会丢失。获得速度的同时也带来了一些缺陷。它要求存储在Memory数据表里的数据使用的是长度不变的格式,这意味着不能使用BLOB和TEXT这样的长度可变的数据类型,VARCHAR是一种长度可变的类型,但因为它在MySQL内部当做长度固定不变的CHAR类型,所以可以使用。

一般在以下几种情况下使用Memory存储引擎:

1.目标数据较小,而且被非常频繁地访问。在内存中存放数据,所以会造成内存的使用,可以通过参数max_heap_table_size控制Memory表的大小,设置此参数,就可以限制Memory表的最大大小。

2.如果数据是临时的,而且要求必须立即可用,那么就可以存放在内存表中。

3.存储在Memory表中的数据如果突然丢失,不会对应用服务产生实质的负面影响。

Memory同时支持散列索引和B树索引。B树索引的优于散列索引的是,可以使用部分查询和通配查询,也可以使用和>=等操作符方便数据挖掘。散列索引进行“相等比较”非常快,但是对“范围比较”的速度就慢多了,因此散列索引值适合使用在=和<>的操作符中,不适合在操作符中,也同样不适合用在order by子句中

四:MERGE

MERGE存储引擎是一组MyISAM表的组合,这些MyISAM表结构必须完全相同,尽管其使用不如其它引擎突出,但是在某些情况下非常有用。说白了,Merge表就是几个相同MyISAM表的聚合器;Merge表中并没有数据,对Merge类型的表可以进行查询、更新、删除操作,这些操作实际上是对内部的MyISAM表进行操作。Merge存储引擎的使用场景。

对于服务器日志这种信息,一般常用的存储策略是将数据分成很多表,每个名称与特定的时间端相关。例如:可以用12个相同的表来存储服务器日志数据,每个表用对应各个月份的名字来命名。当有必要基于所有12个日志表的数据来生成报表,这意味着需要编写并更新多表查询,以反映这些表中的信息。与其编写这些可能出现错误的查询,不如将这些表合并起来使用一条查询,之后再删除Merge表,而不影响原来的数据,删除Merge表只是删除Merge表的定义,对内部的表没有任何影响。

五:ARCHIVE

Archive是归档的意思,在归档之后很多的高级功能就不再支持了,仅仅支持最基本的插入和查询两种功能。在MySQL 5.5版以前,Archive是不支持索引,但是在MySQL 5.5以后的版本中就开始支持索引了。Archive拥有很好的压缩机制,它使用zlib压缩库,在记录被请求时会实时压缩,所以它经常被用来当做仓库使用。

---恢复内容结束---

mysql引擎与操作系统的关系_mysql五大引擎之间的区别和优劣之分相关推荐

  1. MySQL存储引擎与数据的关系_MySQL存储引擎与数据类型

    1 数据存储引擎 存储引擎的概念是MySQL的一个特性,它指定了表的类型(诸如表怎样存储与索引数据.是否支持事务.外键等),表在计算机中的存储方式. 1.1 MySql支持的数据存储引擎 查看引擎信息 ...

  2. mysql 引擎是表级别_Mysql表引擎优化

    MyISAM: 第一,优化参数 这个表引擎只存储索引的缓存,而不存储数据的缓存.可以通过设置KEY_BUFFER_SIZE设置缓存大小,通过KEY_BUFER_BLOCK_SIZE设置cache bl ...

  3. mysql并行加载机制_Mysql表引擎优化

    http://blog.csdn.net/naughty610/article/details/7464794 MyISAM: 第一,优化参数 这个表引擎只存储索引的缓存,而不存储数据的缓存.可以通过 ...

  4. mysql五大引擎之间的区别和优劣之分

    MySQL常用的四种引擎的介绍 (1):MyISAM存储引擎:不支持事务.也不支持外键,优势是访问速度快,对事务完整性没有 要求或者以select,insert为主的应用基本上可以用这个引擎来创建表 ...

  5. mysql innodb 索引组织表_Mysql InnoDB引擎 -索引组织表

    在InnoDB 存储引擎中,表都是根据主键顺序组织存放的,这种存储方式的额表称为索引组织表.在InnoDB存储引擎表中,每张表都有个主键(Primary key),如果在创建表时 没有显示地定义主键, ...

  6. mysql数据库有哪些版本_MySQL数据库各个版本的区别

    MySQL数据库各个版本的区别 MySQL数据库 MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管 ...

  7. mysql float 怎么设置长度_MySQL中float double decimal区别总结

    作者:极客小俊 一个专注于web技术的80后 你不用拼过聪明人,你只需要拼过那些懒人 你就一定会超越大部分人! 下表中规划了每个浮点类型的存储大小和范围: 类型大小范围(有符号)范围(无符号)用途fl ...

  8. mysql的double类型数据_mysql数据类型double和decimal区别详解

    实数是带有小数部分的数字.然而,它们不只是为了存储小数部分,也可以使用 DEClMAL 存储比 BIGINT还大的整数. MySQL 既支持精确类型,也支持不精确类型. FLOAT 和  DOUBLE ...

  9. mysql锁总结知乎_Mysql悲观锁乐观锁区别与使用场景

    概念上区别 乐观锁(Optimistic Locking):顾名思义,对加锁持有一种乐观的态度,即先进行业务操作,不到最后一步不进行加锁,"乐观"的认为加锁一定会成功的,在最后一步 ...

最新文章

  1. 【机器学习入门】(4) 决策树算法理论:算法原理、信息熵、信息增益、预剪枝、后剪枝、算法选择
  2. C语言durand kerner算法求近似根roots(附完整源码)
  3. 斑马Zebra驱动下载
  4. spring----注解
  5. java程序在内存中的存储分配
  6. python click
  7. SQL SERVER 2000数据库,转换为ACCESS数据库(已解决ACCESS自动编号问题)
  8. 30天敏捷结果(24):恢复你的精力
  9. Java中取某一个范围的随机数
  10. date日期格式化 java,Java日期格式化常用方法
  11. 完美生成年度节假日表,Kettle还能这么玩!
  12. 一个长二进制串,求除3的余数
  13. 人类高质量文章:阿里大佬的回顾
  14. 如何用多种代码实现51单片机流水灯
  15. 抖音快手短视频批量去水印采集软件v1.8使用文档
  16. 深入实践 ES6 Proxy Reflect
  17. [乐评]写一点关于我心中的小女人
  18. 【5G NR】物理资源
  19. 直播教育平台开发—老师学生上课学习的好帮手
  20. ZOJ - 3450 Doraemon's Railgun (dp)

热门文章

  1. Java 复习笔记 异常Exception
  2. mysql数据库同步xtrab_热备份的实现方式
  3. Activiti工作流学习笔记01
  4. php exec执行多条命令,小技巧:在PHP中调用多条shell指令
  5. android布局置顶_Android布局图片置顶
  6. usb3.0驱动linux,dwc3 linux usb3.0 driver架构
  7. python 取值范围的命令_python获取命令行参数的方法
  8. android应用测试与调试实战_实战 | Java 服务端和 Android 端手工测试覆盖率统计的实现...
  9. 小程序 web socket_程序员的薪水和发展方向大全
  10. 存储过程可重用的代码块_利用软件重用经验进行自动化测试推荐