https://blog.csdn.net/cool_wayen/article/details/79585277

数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以 获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。MySql的核心就是存储引擎。

存储引擎查看

MySQL给开发者提供了查询存储引擎的功能,我这里使用的是MySQL5.1,可以使用:

SHOW ENGINES

命令来查看MySQL使用的引擎,命令的输出为(我用的Navicat Premium):

看到MySQL给用户提供了这么多存储引擎,包括处理事务安全表的引擎和出来了非事物安全表的引擎。

如果要想查看数据库默认使用哪个引擎,可以通过使用命令:

SHOW VARIABLES LIKE 'storage_engine';

来查看,查询结果为:

在MySQL中,不需要在整个服务器中使用同一种存储引擎,针对具体的要求,可以对每一个表使用不同的存储引擎。Support列的值表示某种引擎是否能使用:YES表示可以使用、NO表示不能使用、DEFAULT表示该引擎为当前默认的存储引擎 。下面来看一下其中几种常用的引擎。

===============我是分割线============

一 Innodb

适用场景:用于事务处理,具有ACID事物支持,应用于执行大量的insert和update操作的表

二 MyISAM

不支持事务,不支持外键约束,不支持行级锁,操作时需要锁定整张表,不过会保存表的行数,所以当执行select count(*) from tablename时执行特别快

适用场景:用于管理非事务表,提供高速检索及全文检索能力,适用于有大量的select操作的表,如 日志表

三 MEMORY

使用存在于内存中的内容创建表,每一个memory只实际对应一个磁盘文件。因为是存在内存中的,所以memory访问速度非常快,而且该引擎使用hash索引,可以一次定位,不需要像B树一样从根节点查找到支节点,所以精确查询时访问速度特别快,但是非精确查找时,比如like,这种范围查找,hash就起不到作用了。另外一旦服务关闭,表中的数据就会丢失,因为没有存到磁盘中。

适用场景:主要用于内容变化不频繁的表,或者作为中间的查找表。对表的更新要谨慎因为数据没有被写入到磁盘中,服务关闭前要考虑好数据的存储

四 MERGE

MERGE存储引擎把一组MyISAM数据表当做一个逻辑单元来对待,让我们可以同时对他们进行查询。构成一个MERGE数据表结构的各成员MyISAM数据表必须具有完全一样的结构。每一个成员数据表的数据列必须按照同样的顺序定义同样的名字和类型,索引也必须按照同样的顺序和同样的方式定义。

假设你有几个日志数据表,他们内容分别是这几年来每一年的日志记录项,他们的定义都是下面这样,YY代表年份:

CREATETABLElog_YY

(

dt  DATETIME NOTNULL,

info VARCHAR(100) NOTNULL,

INDEX(dt)

) ENGINE = MyISAM;

假设日志数据表的当前集合包括 log_2004、log_2005、log_2006、log_2007 ,而你可以创建一个如下所示的MERGE数据表把他们归拢为一个逻辑单元:

CREATETABLElog_merge

(

dt DATETIME NOTNULL,

info VARCHAR(100) NOTNULL,

INDEX(dt)

) ENGINE = MERGE UNION= (log_2004, log_2005, log_2006, log_2007);

ENGINE选项的值必须是MERGE,UNION选项列出了将被收录在这个MERGE数据表离得各有关数据表。把这个MERGE创建出来后,就可以像对待任何其他数据表那样查询它,只是每一次查询都将同时作用与构成它的每一个成员数据表 。下面这个查询可以让我们知道上述几个日志数据表的数据行的总数:

SELECTCOUNT(*) FROMlog_merge;

下面这个查询用来确定在这几年里每年各有多少日志记录项:

SELECTYEAR(dt) ASy, COUNT(*) ASentries FROMlog_merge GROUPBYy;

除了便于同时引用多个数据表而无需发出多条查询,MERGE数据表还提供了以下一些便利。

MERGE数据表可以用来创建一个尺寸超过各个MyISAM数据表所允许的最大长度逻辑单元

你看一把经过压缩的数据表包括到MERGE数据表里。比如说,在某一年结束之后,你应该不会再往相应的日志文件里添加记录,所以你可以用myisampack工具压缩它以节省空间,而MERGE数据表仍可以像往常那样工作

mysql n8_mysql几种引擎和使用场景相关推荐

  1. mysql两种引擎的适用场景_MySQL两种引擎的区别和应用场景

    Innodb引擎 Innodb引擎提供了对数据库ACID事务的支持,并且实现了SQL标准的四种隔离级别.该引擎还提供了行级锁和外键约束,它的设计目标是处理大容量数据库系统,它本身其实就是基于MySQL ...

  2. mysql黑洞_MySQL黑洞引擎的使用场景解释

    MySQL有一个出类拔萃的引擎名叫BlackHole, 又名黑洞. 好多人说这个是鸡肋, 一点用处也没有. 熟读手册,会发现以下几点: A. 检查DUMP 文件是否完整. 你可以用MYSQLDUMP ...

  3. 阿里P8架构师谈:MySQL有哪些存储引擎,各自的优缺点,应用场景

    经常面试都会问到MYSQL有哪些存储引擎,以及各自的优缺点.今天主要分享常见的存储引擎:MyISAM.InnoDB.MERGE.MEMORY(HEAP).BDB(BerkeleyDB)等,以及最常用的 ...

  4. MySQL的几种常用存储引擎

    MySQL有9种存储引擎,不同的引擎,适合不同的场景,我们最常用的,可能就是InnoDB,应该是从5.5开始,就成为了MySQL的默认存储引擎. show engines可以查询MySQL支持的这几种 ...

  5. mysql的常用存储引擎_MySQL常见的三种存储引擎

    Ok,我们知道了,引擎就是一个程序的核心组件. 简单来说,存储引擎就是指表的类型以及表在计算机上的存储方式. 存储引擎的概念是MySQL的特点,Oracle中没有专门的存储引擎的概念,Oracle有O ...

  6. mysql 有两种数据库引擎发音

    mysql 有两种数据库引擎 一种是 MyISAM,一种是 InnoDB MyISAM 发音为 "my-z[ei]m"; InnoDB 发音为 "in-no-db&quo ...

  7. mysql三种引擎_MySQL常见的三种存储引擎

    原文连接:https://www.cnblogs.com/yuxiuyan/p/6511837.htmlhtml 简单来讲,存储引擎就是指表的类型以及表在计算机上的存储方式.数据库 存储引擎的概念是M ...

  8. Mysql的两种存储引擎以及区别

    一.Mysql的两种存储引擎 1.MyISAM: ①不支持事务,但是整个操作是原子性的(事务具备四种特性:原子性.一致性.隔离性.持久性) ②不支持外键,支持表锁,每次所住的是整张表     MyIS ...

  9. mysql常用的两种数据库引擎_Mysql数据库常用两种引擎的介绍

    1.数据库引擎介绍 MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的.要添加一个新的引擎,就必须重新编译MYSQL.在MySQL数据库中,常用的引擎主要就是2个:Innodb和MyIAS ...

最新文章

  1. bzoj 4487: [Jsoi2015]染色问题
  2. 为什么一个java源文件中只能有一个public类
  3. java实现字符逆序输出
  4. “程序员千万不要选全栈开发”
  5. Unity调试外部DLL
  6. 【pwnable.kr】passcode
  7. Ambari Server 架构
  8. 这种文件别打开, 大小不足1KB, 却可以让你电脑瘫痪
  9. 【转】 精密贴片电阻阻值对照表
  10. 跟谁学 英语口语20090927疑问句
  11. 浙江杭州一男子网恋1年求见面, 开门一看这美女长得像“李逵”
  12. Freertos基本概念----(猫和老鼠)
  13. [ Linux ] 查看并修改时区
  14. 青岛海信网络java面试题_Java常见面试题(六、网络)
  15. 如此行事的人怎能不优秀?
  16. zemax---Corss Section(2D视图)
  17. 米尔电子 MYC-Y6ULX-V2核心板在机械智能控制器的应用
  18. 【迈塘坡】- 〖金〗元好问
  19. 机器学习算法:基于鸢尾花(iris)数据集的数据可视化 (200+收藏)
  20. JAVA程序员路线要看的书籍-看看能不能逃脱这41本书

热门文章

  1. Xshell修改用户名字体颜色
  2. B端体验度量衡-体验度量衡指标以及实施篇
  3. 有哪些文档和知识管理工具推荐? - 易智编译EaseEditing
  4. 网络安全学习:安全学习
  5. 诺基亚301支持java评测_功能机中的拍照王 诺基亚301单卡版评测
  6. 智源社区AI周刊No.98:Adept发布行为预训练模型ACT-1;首个扩散模型领域综述发布;PyTorch加入Linux基金会...
  7. 打造APP广告变现利器,了解聚合广告SDK的选择技巧与优势
  8. 国外十大流行服务器监控工具
  9. dB dBm dBw
  10. 联发科芯片资料大全,datasheet、FAQ、参考设计等