MySQL高级性能优化---存储引擎篇

本文介绍了数据库存储引擎的概念,指出它是数据库底层软件组件,不同引擎有不同功能。以MySQL为例,说明了可通过选择不同存储引擎改善应用功能。还介绍了查看引擎及当前使用引擎的方法,最后对比了MyISAM和InnoDB的文件结构区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 存储引擎的概念

数据库存储引擎是数据库底层软件组件,数据库管理系统使用数据引擎进行创建、查询、更新和删除数据操作。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎还可以获得特定的功能。

现在许多数据库管理系统都支持多种不同的存储引擎。MySQL 的核心就是存储引擎

MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。这些不同的技术以及配套的相关功能在MySQL中被称作存储引擎

例如:
如果你在研究大量的临时数据,你也许需要使用内存存储引擎,将数据存储在内存中。内存存储引擎能够在内存中存储所有数据。缺点是不能长期保存。
也许需要一个支持事务处理的数据库(以确定事务处理不成功时数据的回退能力)选择支持事务的存储引擎。

2. 查看引擎

show engines;

在这里插入图片描述
Support 列的值表示某种引擎是否能使用,YES表示可以使用,NO表示不能使用,DEFAULT表示该引擎为当前默认的存储引擎。

3. 查看当前使用的存储引擎

show variables like '%storage_engine%';

在这里插入图片描述

4. MyISAM和InnoDB的区别

功能MyISAMInnoDB
主外键不支持支持
事务不支持支持
行表锁支持表锁支持行锁
缓存只缓存索引,不缓存数据不仅缓存索引,还要缓存真实数据,对内存要求比较高,而且内存大小对性能有决定性的影响
表空间占用小占用小
关注点性能事务
默认安装需要选定默认

备注文件结构对比
MyISAM:
b.frm: 描述结构文件,字段长度等
b.MYD(MYData): 数据信息文件, 存储数据信息(如果采用独立表存储模式)
b.MYI(MYIndex): 索引信息文件

InnoDB:
b.frm: 描述结构文件,字段长度等
b.ibd: 存储数据信息和索引形式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值