MySQL的存储引擎

存储引擎的概念

存储引擎:负责将数据存储在物理存储设备(如磁盘)上的结构和机制。存储引擎决定了数据库如何管理、组织和访问数据。)

因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和操作此表的类型)。

在Oracle 和SQL Server等数据库中只有一种存储引擎,所有数据存储管理机制都是一样的。而MySql数据库提供了多种存储引擎。默认的存储引擎为InnoDB

常用协议的端口号

http :80

https : 443

tcp:23

ftp : 21

ssh : 22

tomcat :8080

oracle : 1521

rocketmq:987

存储引擎的相关命令

启动MySQL

在管理员窗口输入以下指令

bash 复制代码
net start mysql

再输入

bash 复制代码
mysql -u root -p 

输入密码,即可启动MySQL程序

查看MySQL提供的所有存储引擎

sql 复制代码
mysql> show engines;

上图我们可以查看出MySQL 当前默认的存储引擎是InnoDB ,并且在5.7版本所有的存储引擎中只有 InnoDB 是事务性存储引擎,也就是说只有 InnoDB 支持事务。

查看MySQL当前默认的存储引擎

sql 复制代码
mysql> show variables like '%storage_engine%';

查看所有的数据库:show databases

使用数据库:use 数据库名

查看数据库中所有的表: show tables

查看表的存储引擎

sql 复制代码
show table status like "table_name" ;

常用的存储引擎

InnoDB

类型:基于行的逻辑结构(Row-based)。

特点:支持ACID事务、自动提交和回滚、复杂的索引、事务隔离级别高。

优缺点:优点是功能强大,适合大多数应用;缺点是在高并发或大规模数据下的性能可能不如其他引擎。

MyISAM

类型:基于列的逻辑结构(Column-based)。

特点:不支持事务、支持复杂查询和高级操作。通常用于小型数据库。

优缺点:优点是简单高效,适合小规模应用;缺点是不适合需要事务的支持的应用。

MyISAM和InnoDB的区别

MyISAM是MySQL的默认数据库引擎(5.5版之前)。虽然性能极佳,而且提供了大量的特性,包括全文索引、压缩、空间函数等,但MyISAM不支持事务和行级锁,而且最大的缺陷就是崩溃后无法安全恢复。不过,5.5版本之后,MySQL引入了InnoDB(事务性数据库引擎),MySQL 5.5版本后默认的存储引擎为InnoDB。

大多数时候我们使用的都是 InnoDB 存储引擎,但是在某些情况下使用 MyISAM 也是合适的比如读密集的情况下。(如果你不介意 MyISAM 崩溃恢复问题的话)。

两者对比

  • 是否支持行级锁: MyISAM 只有表级锁(table-level locking),而InnoDB 支持行级锁(row-level locking)和表级锁,默认为行级锁。
  • 是否支持事务和崩溃后的安全恢复: MyISAM 强调的是性能,每次查询具有原子性,其执行速度比InnoDB类型更快,但是不提供事务支持。但是InnoDB 提供事务支持,外部键等高级数据库功能。 具有事务(commit)、回滚(rollback)和崩溃修复能力(crash recovery capabilities)的事务安全(transaction-safe (ACID compliant))型表。
  • 是否支持外键: MyISAM不支持,而InnoDB支持。
  • 是否支持MVCC :仅 InnoDB 支持。应对高并发事务, MVCC比单纯的加锁更高效;MVCC只在 READ COMMITTED 和 REPEATABLE READ 两个隔离级别下工作;MVCC可以使用 乐观(optimistic)锁 和 悲观(pessimistic)锁来实现;各数据库中MVCC实现并不统一
相关推荐
城管不管39 分钟前
重生——第十一次面试之挖财一面2026.8.19已OC
java·服务器·jvm·数据库·spring·面试·职场和发展
倔强的石头1061 小时前
向量数据库从相似度检索走向融合数据底座
数据库
今天AI了吗2 小时前
Python 基础语法(一):常量、变量、输入输出与运算符
开发语言·数据库·人工智能·python·sql·深度学习·机器学习
夜雪一千3 小时前
MySQL 全局锁是什么?原理、风险、备份踩坑完整实战
android·mysql·adb
lilian2333 小时前
Harmony os 技术实战|拼豆制图27:用单字符编码承载 50 张 70×70 图纸
前端·数据库·华为·harmonyos
皮卡丘不断更4 小时前
手机优先的 Personal Ledger:把账目、学习和复盘放到同一个入口
数据库·sqlite·fastapi·开源项目·个人效率
保卫大狮兄5 小时前
设备管理从台账到报废,完整生命周期一次讲清
数据库·设备管理·设备
数据安全技术观察5 小时前
数据动态脱敏:让脱敏策略跟着数据目录走
大数据·网络·数据库
小席是个热心肠6 小时前
Redis的自我学习
数据库·redis·学习
2601_965798476 小时前
Salient Theme Setup Guide for Fast Creative WordPress Sites
数据库·web3·php·wordpress