MySQL存储引擎概述

MySQL默认支持多种存储引擎,以适用于不同领域的数据库应用需要,用户可以通过选择使用不同的存储引擎提高应用的效率。

MySQL支持的存储引擎包括:InnoDB、MyISAM、MEMORY、CSV、BLACKHOLE、ARCHIVE、MERGE、FEDERATED、EXAMPLE、NDB等,其中InnoDB和NDB提供失误安全表,其他存储引擎都是非失误安全表。

创建表时若不选择存储引擎,那么系统就会使用默认的存储引擎。MySQL5.5之前的默认存储引擎是MyISAM,5.5之后改为InnoDB.

查看当前默认存储引擎show variables like 'default_storage_engine';

查看当前数据库支持的存储引擎show engines;

各存储引擎特性

说明:留空则为不支持特点MyISAMMemoryInnoDBArchiveNDBB树索引支持支持支持

备份/时间点恢复支持支持支持支持支持

支持集群支持

聚簇索引支持

数据压缩支持支持支持

数据缓存N/A支持支持

数据加密支持支持支持支持支持

支持外键支持支持

全文索引支持支持

地理坐标数据类型支持支持支持支持

地理坐标索引支持支持

哈希索引支持支持

索引缓存支持N/A支持支持

锁粒度表级表级行级行级行级

MVCC多版本控制支持

支持复制支持有限支持支持支持支持

存储限制256TBRAM64TBNone384EB

T树索引支持

支持事务支持支持

统计信息支持支持支持支持支持

MySQL常用的存储引擎有MyISAM、InnoDB、MEMORY、Archive。下面也将记录这4种引擎。

常用的存储引擎

MyISAM

MyISAM不支持事务也不支持外键。MyISAM在某些场景中相对InnoDB的访问速度有明显的优势;对事务完整性没有要求或者以SELECT、INSERT为主的应用可以使用InnnoDB引擎。

每个MyISAM在磁盘上存储成3个文件,其文件名与表名相同,但扩展名不同,如下:.frm(存储表定义)

.MYD(MYData,存储数据)

.MYI(MYIndex,存储索引)

数据文件和索引文件可以放置在不同的目录,平均分布IO,获得更快的速度。

MyISAM的表还支持3种不同的存储格式,如下:静态(固定长度)表

动态表

压缩表

静态表是默认的存储格式。静态表中的字段都是非变长字段,这样每个记录都是固定长度的,这种存储方式的优点是:存储非常迅速、容易缓存、出现故障容易恢复;缺点是:占用的空间通常比动态表多。

动态表中包含包含变长字段,记录不是固定长度的,优点是:占用的空间相对较少;缺点是:频繁的更新和记录会产生碎片,需要定期执行OPTIMIZE TABLE语句或myisamchk-r命令来改善性能,且在出现故障时恢复相对比较困难。

压缩表由myisampack工具创建,优点是占用磁盘空间非常小。

InnoDB

InnoDB具有提交、回滚和崩溃恢复能力的事务安全保障,同时提供了更小的锁粒度和更强的并发能力,拥有自己独立的缓存和日志。

对比MyISAM存储引擎,InnoDB会占用更多的磁盘空间以保留数据和索引。

自动增长列

InnoDB表的自动增长列可以手工插入,若插入的值为空,则实际插入的将是自动增长后的值。

外键约束

Mysql支持外键的常用存储引擎只有InnoDB,在创建外键时,要求父表必须有对应的索引,子表在创建时也会自动创建对应的索引。

主键和索引

InnoDB的数据文件是以聚簇索引的形式保存,这个聚簇索引也被称为主索引且也是InnoDB的主键,InnoDB表第行数据都保存在主索引的叶子节点上。

存储方式

InnoDB存储表和索引有2种存储方式:使用共享表空间存储和使用多表空间存储。

MEMORY

MEMORY存储引擎使用存在于内存中的内容来创建表。

每个MEMORY表对应一个磁盘文件,格式为.frm;由于存储在内存中,MEMORY类型的表访问速度非常快,一旦服务关闭,表中数据则丢失。

MERGE

MERGE存储引擎被称为MRG_MyISAM,是一组MyISAM表的组合。这些MyISAM表的结构必须完全相同,Merge表本身并没有数据,对MERGE类型的表可能进行查、改、删操作。

我是小白,期待和优秀的你一起同行!

小白

2020年10月19日

转载:感谢您对自如初博客网站的认可,所有文章均属原创文章,技术类文章转载请注明出处,“自如初博客”;文学类文章请带文本链接地址,否则视为侵权!

很赞哦!(2)

mysql各存储引擎介绍表格_十六、MySQL基础系列笔记之数据表存储引擎的介绍相关推荐

  1. mysql 表的存储类型_MySQL数据表存储引擎类型及特性

    数据表类型(存储引擎) 常见引擎比对 特点 Myisam InnoDB Memory BDB Archive 存储限制 无穷制 64TB 有 没有 没有 事务安然 - 支撑 - 支撑 - 锁机制 表锁 ...

  2. 《Erlang程序设计》第十五章 ETS和DETS:大数据的存储机制

    第十五章 ETS和DETS:大数据的存储机制 Table of Contents 第十五章 ETS和DETS:大数据的存储机制 15.1 表的基本操作 创建和打开表 插入表 查找元组 释放表 15.2 ...

  3. 零基础带你学习MySQL—foreign key 外键(二十六)

    零基础带你学习MySQL-foreign key 外键(二十六) -- 外键演示 -- 创建 主表 my_class CREATE TABLE my_class ( id INT PRIMARY KE ...

  4. 零基础带你学习MySQL—加密函数和系统函数(十六)

    零基础带你学习MySQL-加密函数和系统函数(十六)

  5. [Python从零到壹] 三十六.图像处理基础篇之图像算术与逻辑运算详解

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  6. python数据挖掘学习笔记】十六.逻辑回归LogisticRegression分析鸢尾花数据

    但是很多时候数据是非线性的,所以这篇文章主要讲述逻辑回归及Sklearn机器学习包中的LogisticRegression算法 #2018-03-28 16:57:56 March Wednesday ...

  7. python分析鸢尾花数据_python数据挖掘学习笔记】十六.逻辑回归LogisticRegression分析鸢尾花数据...

    但是很多时候数据是非线性的,所以这篇文章主要讲述逻辑回归及Sklearn机器学习包中的LogisticRegression算法 #2018-03-28 16:57:56 March Wednesday ...

  8. 《快速掌握PyQt5》第三十六章 用PyQtGraph绘制可视化数据图表

    第三十六章 用PyQtGraph绘制可视化数据图表 36.1 下载PyQtGraph 36.2 基础知识与用法 36.3 将PyQtGraph嵌入到PyQt5中 36.4 小结 <快速掌握PyQ ...

  9. 大白话5分钟带你走进人工智能-第二十六节决策树系列之Cart回归树及其参数(5)...

                                                    第二十六节决策树系列之Cart回归树及其参数(5) 上一节我们讲了不同的决策树对应的计算纯度的计算方法, ...

  10. 二十六. Python基础(26)--类的内置特殊属性和方法

    二十六. Python基础(26)--类的内置特殊属性和方法 ● 知识框架 ● 类的内置方法/魔法方法案例1: 单例设计模式 # 类的魔法方法 # 案例1: 单例设计模式 class Teacher: ...

最新文章

  1. 全球每年仅一位!中国数学家印卧涛荣获优化领域Egon Balas奖
  2. ACM 模板--邻接表 有向图 搜索算法
  3. windows搭建内网 域环境 域控制器 win7加入域
  4. 用c语言描述单链表的数据类型,数据结构—单链表(类C语言描述)
  5. python类的方法三种访问权_Python基础33-面向对象(继承资源(属性与方法)的使用注意)...
  6. Spark配置属性详解
  7. disabled运用;div,li元素禁用点击事件;防止a标签打开url;禁用click事件,删除onclick
  8. fedora 16 下搭建gvim+xdebug调试环境
  9. 代码实现:输入某年某月某日,判断这一天是这一年的第几天?
  10. 马斯克:2020 年底将完成 L5 级别自动驾驶功能
  11. 资源丨2200万室内场景数据集,包含语义、全景、灯光等十余种效果
  12. request payload怎么发_如果不是你,我也不会发朋友圈
  13. 大数据面试3分钟自我介绍_大数据开发工程师面试主要面试内容
  14. python 车辆识别_PythonAI应用(1)车辆识别
  15. 4k电视测试软件64,2017年四款看4k视频软件推荐,智能电视必备!
  16. IM通讯系统分析与实战
  17. 劝学诗整理:安居不用架高堂,书中自有黄金屋。
  18. Ueditor详细配置说明文档
  19. 老九学堂 学习 C++ 第四天
  20. 1.WebService

热门文章

  1. 【多媒体封装格式详解】---MKV【1】
  2. Linux Cgroups详解(一)
  3. Linux时间子系统之五:低分辨率定时器的原理和实现
  4. 联想笔记本大写提示软件_联想威6 2021款怎么样?值得买吗?下面几点或许可以帮到您...
  5. 大数乘法与大数加法 java实现
  6. 华为服务器扩容内存进不去系统,服务器换内存系统出问题吗
  7. NYOJ2-括号配对问题
  8. 51nod1001数组中和等于K的数对
  9. 华为鸿蒙系统和奔驰公司,华为已行动,又是一个千亿BG,奔驰已经加入
  10. java转化自闭合_HTML自闭合(self-closing)标签