MySQL存储引擎详解:InnoDB、MyISAM及其他引擎的特点与应用场景
创作时间:
作者:
@小白创作中心
MySQL存储引擎详解:InnoDB、MyISAM及其他引擎的特点与应用场景
引用
CSDN
1.
https://blog.csdn.net/J56793/article/details/145393381
常见存储引擎及其特点
- InnoDB
- 特点:支持事务处理、行级锁定、外键约束,使用聚簇索引,适合高并发读写和事务处理的场景。
- 适用场景:需要高可靠性、高并发读写和事务处理的场景。
- MyISAM
- 特点:不支持事务处理和行级锁定,但支持全文索引,以高效率的插入和查询速度著称,适合读操作比写操作更频繁的场景。
- 适用场景:不需要事务处理,主要进行大量读操作的应用。
- Memory
- 特点:所有数据存储在内存中,适合快速读写操作,但数据在服务器重启后会丢失,适用于缓存和临时数据存储。
- 适用场景:需要快速访问数据的缓存应用。
存储引擎的选择依据
选择合适的存储引擎需要根据具体的应用需求来决定:
- 事务处理需求:如果需要事务处理,选择InnoDB。
- 读写比例:如果读操作远多于写操作,MyISAM可能更合适。
- 数据安全性和并发需求:如果需要高并发和高数据安全性,InnoDB是更好的选择。
其他存储引擎
- Performance_Schema:用于Performance_Schema数据库。
- Memory:将所有数据存储在RAM中,以便在需要快速查找参考和其他类似数据的环境中进行快速访问。适用存放临时数据。引擎以前被称为HEAP引擎。
- MRG_MyISAM:使MySQL DBA或开发人员能够对一系列相同的MyISAM表进行逻辑分组,并将它们作为一个对象引用。适用于VLDB(Very Large Data Base)环境,如数据仓库。
- Archive:为存储和检索大量很少参考的存档或安全审核信息,只支持 SELECT 和 INSERT 操作;支持行级锁和专用缓存区。
- Federated联合:用于访问其它远程MySQL服务器一个代理,它通过创建一个到远程MySQL服务器的客户端连接,并将查询传输到远程服务器执行,而后完成数据存取,提供链接单独MySQL服务器的能力,以便从多个物理服务器创建一个逻辑数据库。非常适合分布式或数据集市环境。
- BDB:可替代InnoDB的事务引擎,支持COMMIT、ROLLBACK和其他事务特性。
- Cluster/NDB:MySQL的簇式数据库引擎,尤其适合于具有高性能查找要求的应用程序,这类查找需求还要求具有最高的正常工作时间和可用性。
- CSV:CSV存储引擎使用逗号分隔值格式将数据存储在文本文件中。可以使用CSV引擎以CSV格式导入和导出其他软件和应用程序之间的数据交换。
- BLACKHOLE:黑洞存储引擎接受但不存储数据,检索总是返回一个空集。该功能可用于分布式数据库设计,数据自动复制,但不是本地存储。
- example:"stub"引擎,它什么都不做。可以使用此引擎创建表,但不能将数据存储在其中或从中检索。目的是作为例子来说明如何开始编写新的存储引擎。
管理存储引擎
查看 MySQL 支持的存储引擎
show engines;
查看当前默认的存储引擎
show variables like '%storage_engine%';
设置默认的存储引擎
vim /etc/my.cnf
[mysqld]
default_storage_engine=InnoDB
查看库中所有表使用的存储引擎
show table status from db_name;
查看库中指定表的存储引擎
show table status like 'tb_name';
show create table tb_name;
设置表的存储引擎
CREATE TABLE tb_name(... ) ENGINE=InnoDB;
ALTER TABLE tb_name ENGINE=InnoDB;
MySQL 中的系统数据
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
3 rows in set (0.000 sec)
mysql 数据库
类似于Sql Server中的master库,主要负责存储数据库的用户、权限设置、关键字等mysql自己需要使用的控制和管理信息。
information_schema 数据库
MySQL 5.0 之后产生的,一个虚拟数据库,物理上并不存在information_schema数据库类似于"数据字典",提供了访问数据库元数据的方式,即数据的数据。比如数据库名或表名,列类型,访问权限(更加细化的访问方式)。
performance_schema 数据库
MySQL 5.5 开始新增的数据库,主要用于收集数据库服务器性能参数,库里表的存储引擎均为PERFORMANCE_SCHEMA,用户不能创建存储引擎为 PERFORMANCE_SCHEMA 的。
热门推荐
探秘花果山:连云港景区精华一日游
抑郁症病史对公务员录用的潜在影响
电脑端 虚拟天文馆 Stellarium v24.4 免费开源
男子养灰鹦鹉犯法吗?揭秘我国相关法律法规
散文|挖折耳根
业主委员会成立章程:关于规范业主委员会组织与运作的若干规定
政策推动我国远洋渔业行业高质量发展 总产值整体上升 境外出售量持续下滑
如何看待美国抛售黄金这一行为的影响?这种影响如何波及全球市场?
“少年的玩具1-20改造”:从娱乐到教育的深度转型
从婴儿的哭声判断宝宝的需求
中国汽车保险行业发展政策、产业链全景、竞争格局及未来前景分析
从勇士次轮秀到联盟顶级得分手:蒙塔·埃利斯的NBA生涯回顾
稳定性与性能双重提升:AMI BIOS内存调试技巧
解密土壤透气的重要性,如何科学浇水才能让土壤透气性更好
AT89S51单片机与STM32芯片有什么共性与不同
大科学装置齐聚粤港澳大湾区:打造世界级装置集群
鼻腔和咽喉连接处有粘痰怎么办
怎么调理肠胃去口臭
网络安全新挑战:CC攻击影响与防御措施的全景分析
医药行业调整到位了吗?聊聊当下的医药投资
拖欠工资不给怎么办?教你如何申请劳动仲裁
云南勐海:共谋产业新发展 驻村干部齐发力
聚维酮碘含漱液的作用及治疗效果
文言文复习专题及参考答案解析—— 初中文言文通假字大全
侗族大歌遇上现代科技:《天蝉侗唤》让非遗文化焕发时代光彩
著名二胡大师刘长福新作品首发二胡重奏《欢乐的草原》
倡树网络新风,共建网络文明
汽车轮胎动平衡的作用与检测方法
提升与猫咪互动乐趣的多种游戏方式与小技巧
千行百业加速推陈出“新”——解码呼和浩特市经济增长关键动力