文档章节

mysql数据库各存储引擎之间的区别

MinghanSui
 MinghanSui
发布于 2017/08/17 09:48
字数 421
阅读 14
收藏 0

1、下面的图表列举了几种常用存储引擎之间的特征和区别。

特点 Myisam(5.5.5之前默认) BDB Memory InnoDB(5.5.5之后默认) Archive
存储限制 没有 没有 64TB 没有
事务安全   支持   支持  
锁机制 表锁 页锁 表锁 行锁 行锁
B树索引 支持 支持 支持 支持  
哈希索引     支持 支持  
全文索引 支持        
集群索引       支持  
数据缓存     支持 支持  
索引缓存 支持   支持 支持  
数据可压缩 支持       支持
空间使用 N/A 非常低
内存使用 中等
批量插入的速度 非常高
支持外键       支持  

2、最重要也最常用的两种存储引擎:

Myisam:Myisam在5.5.5之前版本中是mysql默认的存储引擎,当创建一个表的时候,如果未指定存储引擎的话,默认是使用Myisam引擎。Myisam在磁盘中会存储为三个文件(假设表名是xxx):

①xxx.frm(表定义) ②xxx.MYD(数据) ③xxx.MYI(索引)

表数据文件和表索引文件可以分别放置在不同的目录中,这样可以平均分布IO,所以它的查询速度更快。

InnoDB:InnoDB在5.5.5之后的版本中是mysql默认的存储引擎,InnoDB支持事务安全,有提交、回滚等相关事务功能。InnoDB相比于Myisam读写效率会差一些,会占用更多的磁盘空间用于保存数据和索引。

可以根据具体的使用场景来选择使用哪种数据引擎,可以组合使用。

 

© 著作权归作者所有

共有 人打赏支持
MinghanSui
粉丝 1
博文 45
码字总数 14714
作品 0
沈阳
程序员
私信 提问
MySQL存储引擎MyISAM与InnoDB的区别

写在前面 MySQL,Oracle,SqlServer都是在关系型数据库中都占有一席之地,MySQL数据库也被称为业内最广泛使用的开源数据库之一,而插件式存储引擎的是其最重要的特点之一,了解其存储引擎能更...

志_恒
2017/11/11
0
0
MySql数据库 学习记录

什么事MySQL数据库? 通常意义上,数据库也就是数据的集合,具体到计算机上数据库可以是存储器上一些文件的集合或者一些内存数据的集合。我们常说的MySQL数据库,sql server数据库等其实是数...

杨春炼
2016/12/24
34
0
抓住这两点,MySQL体系结构和InnoDB存储引擎可以毕业了

当前关于MySQL的文章大部分都集中在教读者如何使用 MySQL 。 例如SQL语句的使用、 复制的搭建、数据的切分等 。没错,这对快速掌握和使用MySQL数据库非常有好处 ,但是真 正的数据库工作者需...

黄色橙子
05/30
0
0
mysql server-存储引擎

mysql server系统架构 逻辑模块组成: mysql逻辑模块可以分为两层架构,第一层是sql layer主要包括权限判断、sql解析、执行计划优化、query cache的处理等;第二层是存储引擎层storageengine...

攀岩人生
2017/06/12
0
0
MySQL面试题集锦,据说知名互联网公司都用

  【IT168 评论】在今年上半年的数据库使用状况调查中,笔者收集了众多国内外知名互联网公司的数据库使用情况,其中,国外GitHub、Airbnb、Yelp、Coursera均在使用MySQL数据库,国内阿里巴...

it168网站
2017/11/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Apache用户认证,域名跳转

11月15日任务 11.18 Apache用户认证 11.19/11.20 域名跳转 11.21 Apache访问日志 11.18 Apache用户认证 vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf //把123.com那个虚拟主机编辑......

zgxlinux
49分钟前
1
0
idea 添加 VUE 的语法支持和开发

《一》VUE的开发分两种,一种是直接在HTML文件中使用,一种是VUE文件的形式开发 1,首先我们先让 HTML 文件支持 VUE 的语法指令提示 2,File -> Setting -> Edit -> Inspections -> html 3,...

文文1
今天
2
0
【NLP】【七】fasttext源码解析

【一】关于fasttext fasttext是Facebook开源的一个工具包,用于词向量训练和文本分类。该工具包使用C++11编写,全部使用C++11 STL(这里主要是thread库),不依赖任何第三方库。具体使用方法...

muqiusangyang
今天
3
0
防止Tweak

什么是tweak? 英文意思为捏, 拧,扭,稍稍调整(机器、系统等)。 依据维基百科的定义,tweak指的是对电子系统进行轻微调整来增强其功能的工具;在ios中tweak特指那些能够增强其它可执行程...

HeroHY
今天
3
0
linux中常用标识---不定期更新

LINUX常用标识符: 1 & && | || &: 表示进程在后台运行 例如 redis-server & 不是所有后台运行都是& 比如es ./bin/elasticsearch -d es后台运行&&: 第一个命令执行成功后 才执行后面的命令...

geek土拨鼠
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部