news 2026/5/25 11:50:49

MYSQL-存储引擎

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MYSQL-存储引擎

存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表的,而不是基于库的,所以存储引擎也被称为表类型。

MySQL的存储引擎是数据库的底层核心组件,它决定了数据如何存储、如何索引、是否支持事务以及如何实现并发控制。可以将其理解为数据库的“发动机”或“文件系统格式”,不同的引擎为数据提供了不同的能力和特性。

MySQL最大的特点之一就是采用了插件式存储引擎架构,可以根据应用需求,为不同的表选择最合适的引擎。

默认表的存储引擎为innodb。

-- 查询建表语句--默认存储引擎:InnoDB show create table account; -- 查看当前数据库支持的存储引擎 show engines; -- 创建表my_myisam,并指定myisam存储引擎 create table my_myisam ( id int, name varchar(10) )engine = myisam;

存储引擎特点

innodb:是一种兼顾高可靠性和高性能的通用存储引擎,在mysql 5.5 之后,Innodb是默认的mysql存储引擎。

特性维度InnoDB(MySQL 5.5+默认引擎)MyISAM(MySQL 5.5前默认)MemoryArchive
主要用途OLTP(在线事务处理),需要事务安全、高并发、数据完整性。OLAP(只读或读多写少),如数据仓库、报表。Web应用已基本淘汰临时表、缓存,数据需在内存中,速度极快。归档存储,日志、审计等历史数据。
事务支持完整支持(ACID)。❌ 不支持。❌ 不支持。❌ 不支持。
锁粒度行级锁,支持高并发写。表级锁,写并发性能差。表级锁行级锁(插入时)。
外键支持支持,保证引用完整性。❌ 不支持。❌ 不支持。❌ 不支持。
索引类型聚簇索引,主键查询极快。非聚簇索引,索引与数据分离。哈希索引(默认),等值查询快。不支持索引(仅INSERT/SELECT)。
数据恢复崩溃后自动恢复(通过redo log)。崩溃后需检查/修复表。服务器重启后数据丢失不支持(操作需全表扫描)。
全文索引✅ MySQL 5.6+ 支持。✅ 支持(较早版本常用)。❌ 不支持。❌ 不支持。
存储限制64TB256TBmax_heap_table_size限制

总结:

  • 95%以上的场景,使用默认的InnoDB它提供了事务安全、行级锁、崩溃恢复和外键约束,是保证数据一致性和完整性的基石。

  • 特殊场景,按需选择:

    • MEMORY用于临时表、会话缓存,速度极快。

    • Archive用于日志归档,压缩比极高。

    • MyISAM:除非是遗留系统或只读数据仓库,否则应避免使用。

学习记录,仅供参考。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/26 2:03:36

别再“盲人摸象”:当IT资产管理始于精准的自动发现

每个IT团队都梦想过这样一个场景:打开一个控制台,公司内所有终端设备——无论它在总部机房、分支机构,还是员工的家里——都清晰在列。硬件配置、软件清单、补丁状态、位置信息一目了然,实时更新。但现实往往是:新同事…

作者头像 李华
网站建设 2026/5/26 2:03:35

基于单片机的跌倒检测和报警系统设计与实现(有完整资料)

资料查找方式:特纳斯电子(电子校园网):搜索下面编号即可编号:T4042309M设计简介:本设计是基于单片机的跌倒检测和报警系统设计与实现,主要实现以下功能:通过加速度传感器检测摔倒情况…

作者头像 李华
网站建设 2026/5/26 0:11:47

Coze 工作原理与应用实例:从零打造 AI Agent

Coze 工作原理与应用实例:从零打造 AI Agent 摘要:Coze(中文名:扣子)是字节跳动推出的一站式 AI Bot 开发平台。不同于简单的对话框,Coze 允许开发者通过低代码/无代码的方式,将大语言模型&…

作者头像 李华
网站建设 2026/5/26 2:03:30

销售全链路透视:AI CRM系统的数据闭环

在传统的企业管理认知中,CRM(客户关系管理)系统常常扮演着一个矛盾的角色。一方面,它是记录客户信息的中央资料库,承载着企业最宝贵的资产;另一方面,它却常常沦为一个冰冷、被动的数据库&#x…

作者头像 李华
网站建设 2026/5/25 10:40:43

Linux学习日记18:线程的分离

一、前言前面我们学习了线程的一些基础知识&#xff0c;学习了线程的创建与使用&#xff0c;今天我们来学习线程的分离与同步。二、线程分离2.1、函数原型函数原型如下&#xff1a;#include <pthread.h> int pthread_detach(pthread_t thread);参数&#xff1a;thread&am…

作者头像 李华