当前位置:网站首页>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适合存储非永久需要或能从磁盘直接生成的表,访问速度最快。
欢迎评论区交流~
边栏推荐
猜你喜欢
随机推荐
oracle查看表空间占用情况并删除多余表所占空间
全网最全的软件测试基础知识整理(新手入门必学)
类 对象 属性 方法 类的成员
Firebase+Facebook 授权 web 登录提示域名验证或跳转错误
8.Properties属性集合
接口设计
makefile学习-解决目标文件输出路径问题
搭建Tigase进行二次开发
免费下载天地图全国基础地理信息矢量数据的一种方法
6. The File types
软件测试流程包括哪些内容?测试方法有哪些?
5. Transform Streams
2.Collection interface
网络安全入门基础:IP地址
WAVE SUMMIT 2022深度学习开发者峰会
字符串
关于一次性通过CISSP考试的一点经验分享
2.线程创建
A Practical Guide to Building OWL Ontologies using Protege4 and CO-ODE Tools - Version 1.3 (7.4 Annotation Properties - Annotation Properties)
latex中复杂公式换行等号对齐




