博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql数据库各存储引擎之间的区别
阅读量:6736 次
发布时间:2019-06-25

本文共 683 字,大约阅读时间需要 2 分钟。

hot3.png

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读写效率会差一些,会占用更多的磁盘空间用于保存数据和索引。

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

 

转载于:https://my.oschina.net/MinghanSui/blog/1511591

你可能感兴趣的文章
《机器学习实战》支持向量机(手稿+代码)
查看>>
修改VS自带的模版文件
查看>>
hdu2874 LCA
查看>>
fedora中丢失或损坏fstab,无法启动,如何补救
查看>>
JAVA基本算法面试题:1斐波纳契数列
查看>>
GPU Memory Usage占满而GPU-Util却为0的调试
查看>>
iOS开发-UITapGestureRecognizer手势
查看>>
Java中的Lambda表达式
查看>>
Android中数据存储之SharedPreferences
查看>>
查询oracle中所有用户信息
查看>>
PHP数字价格格式化,保留两位小数
查看>>
MVC3.0入门学习笔记--Razor 之样式加载方式1
查看>>
Linux下LDAPSearch的例子
查看>>
创建指定大小的文件
查看>>
Java将byte[]和int的互相转换
查看>>
10.1-10.2泛型算法
查看>>
【转】Objective-C学习笔记四:循环结构
查看>>
JavaBeans 中添加 private static final long serialVersionUID = 1L
查看>>
ORACLE RAC集群硬件资源管理与单节点的区别
查看>>
洛谷 5061 秘密任务——二分图染色
查看>>