当前位置:网站首页>MySQL常用存储引擎,你不可错过的知识点!
MySQL常用存储引擎,你不可错过的知识点!
2022-08-09 09:29:00 【农场主er】
不同的存储引擎对应不同的存储方式,可通过
show engine \G查看对应版本的存储引擎。 建表时可通过
create table 表名(字段名 数据类型,...)ENGINE=存储引擎;显式指定相应的存储引擎,默认的存储引擎是 InnoDB,字符集是 UTF-8 。 1、MyISAM
Engine: MyISAM
Support: YES
Comment: MyISAM storage engine
Transactions: NO
XA: NO
Savepoints: NO
特点
使用三个文件表示每个表:
.frm格式文件,存储表的结构;.myd数据文件,存储表中数据;.myi索引文件,存储表的索引。
优点
由于数据单独存储在.myd文件中,故可被压缩,节省存储空间。并且可以转换为只读表,提高检索效率。
缺点
不支持事务。
2、InnoDB
Engine: InnoDB
Support: DEFAULT
Comment: Supports transactions, row-level locking, and foreign keys
Transactions: YES
XA: YES
Savepoints: YES
特点
- 表结构存储在
.frm格式文件中,数据存储在tablespace(逻辑上存在)表空间中,无法被压缩、转换成只读表; - 在MySQL数据库崩溃之后提供自动恢复机制,保障了数据安全;
- 支持外键及引用的完整性,包括级联删除和级联更新(删除和更新父表后子表发生相应改变);
- 支持事务、行级锁等。
3、MEMORY
Engine: MEMORY
Support: YES
Comment: Hash based, stored in memory, useful for temporary tables
Transactions: NO
XA: NO
Savepoints: NO
特点
- 表结构存储在
.frm格式文件中,数据和索引存储在内存中,使得访问速度非常块,同时数据断电时也会失去; - 表结构不能包含
blob、clob字段; - 不支持事务。
4、存储引擎的选择
MyISAM适合存储具有大量的数据读操作而少量数据更新操作的表,如果数据很多需要压缩节省空间也适用;InnoDB适合存储需要保障数据安全的表,若数据更新操作很多也完全使用,其行级锁的支持提供了良好的并发机制;MEMORY适合存储非永久需要或能从磁盘直接生成的表,访问速度最快。
欢迎评论区交流~
边栏推荐
猜你喜欢
随机推荐
年薪40W测试工程师成长之路,你在哪个阶段?
class object property method class member
你一定要看的安装及卸载测试用例的步骤及方法总结
1. The concept of flow
接口设计
2.字节流
STM32F103实现IAP在线升级应用程序
pycharm在创建py文件时如何自动注释
自动化测试简历编写应该注意哪方面?有哪些技巧?
3.编码方式
性能测试的基本概念是什么?做好性能测试需要掌握哪些知识?
Do you know the basic process and use case design method of interface testing?
.ts 音频文件转换成 .mp3 文件
自动化测试框架有哪几种?搭建的思路是什么?一篇文章让你彻底了解自动化
功能自动化测试实施的原则以及方法有哪些?
[Machine Learning] Basics of Data Science - Basic Practice of Machine Learning (2)
static_assert报错为什么?
手机APP测试流程规范和方法你知道多少?
免费下载天地图全国基础地理信息矢量数据的一种方法
网络安全入门基础:IP地址



![[Personal study summary] CRC verification principle and implementation](/img/99/ae0862522cd0d1c8f45604b9cd88c5.png)



