在设计数据库时,存储引擎和创建索引是我们首要考虑的问题,不同的应用场景选择不同的引擎会给系统带来既然不同的效率,是否考虑分表,事务机制,读写比例等都是决定引擎选取的因素。索引是帮我们高效获取数据的数据结构,是每个开发人员都应该关注和学习。
1.数据库存储引擎定义
MySQL中的数据用各种不同的技术存储在文件(或者内存)中,这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并最终提供不同的功能和能力,这些不同的技术以及配套的相关功能在MySQL中称为存储引擎(也称为表类型)。
2.MySQL数据库主要存储引擎
存储引擎 | 功能&特点 |
---|---|
MyISAM | 拥有较高的插入,查询速度,但不支持事务,表级锁 |
InnoDB | 5.5版本后Mysql的默认数据库存储引擎,事务型数据库的首选引擎,支持ACID事务,支持行级锁定 |
Memory | 所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正比的内存空间。并且其内容会在Mysql重新启动时丢失,处理非事务表 |
Archive | 非常适合存储大量的独立的,作为历史记录的数据。因为它们不经常被读取。Archive拥有高效的插入速度,但其对查询的支持相对较差 |
CSV | 逻辑上由逗号分割数据的存储引擎。它会在数据库子目录里为每个数据表创建一个.CSV文件。这是一种普通文本文件,每个数据行占用一个文本行。CSV存储引擎不支持索引 |
BlackHole | 黑洞引擎,写入的任何数据都会消失,一般用于记录binlog做复制的中继 |
MRG_MYISAM | 将一定数量的MyISAM表联合而成一个整体,在超大规模数据存储时很有用,实现大数据的水平分表(如创建一个MRG_MyISAM引擎作为主表,可以实现读操作,更新,删除操作,在多个MyISAM引擎的子表中插入存储数据) |
PERFORMANCE_SCHEMA | 主要用于收集数据库服务器性能参数。MySQL用户是不能创建存储引擎为PERFORMANCE_SCHEMA的表 |
更多精彩内容,请点击阅读原文!
http://www.phpthinking.com/archives/1367
文章转载自大鱼与财,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【MySQL 30周年庆】MySQL 8.0 OCP考试限时免费!教你免费领考券
墨天轮小教习
2978次阅读
2025-04-25 18:53:11
MySQL 30 周年庆!MySQL 8.4 认证免费考!这次是认真的。。。
严少安
852次阅读
2025-04-25 15:30:58
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
496次阅读
2025-04-17 17:02:24
MySQL 9.3 正式 GA,我却大失所望,新特性亮点与隐忧并存?
JiekeXu
436次阅读
2025-04-15 23:49:58
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
373次阅读
2025-04-15 14:48:05
MySQL 8.0 OCP 1Z0-908 考试解析指南(二)
JiekeXu
292次阅读
2025-04-30 17:37:37
记录MySQL数据库的一些奇怪的迁移需求!
陈举超
279次阅读
2025-04-15 15:27:53
SQL优化 - explain查看SQL执行计划(下)
金同学
274次阅读
2025-05-06 14:40:00
MySQL 8.0 OCP 1Z0-908 考试题解析指南
青年数据库学习互助会
257次阅读
2025-04-30 12:17:54
MySQL 30 周年庆!MySQL 8.4 认证免费考!这次是认真的。。。
数据库运维之道
247次阅读
2025-04-28 11:01:25