千家信息网

MYSQL——存储引擎

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,MYSQL的存储引擎1 MYSQL可以将数据以不同的技术存储在文件和内存中,这种技术就成为存储引擎2 每一种存储引擎使用不同的存储机制、索引技巧、锁定水平,最终提供广泛且不同的功能3 MYSQL支持的
千家信息网最后更新 2025年11月07日MYSQL——存储引擎

MYSQL的存储引擎

1 MYSQL可以将数据以不同的技术存储在文件和内存中,这种技术就成为存储引擎

2 每一种存储引擎使用不同的存储机制、索引技巧、锁定水平,最终提供广泛且不同的功能

3 MYSQL支持的常用储存引擎

3.1 MYISAM

适用于事务处理不多的情况,储存限制可达256TB,支持索引、表级锁定、数据压缩

3.2 InnoDB

适用于处理事务比较多,需要有外键支持的情况,储存限制为64TB,支持事务和索引,锁颗粒为行锁

3.3 Memory

3.4 CSV

不支持索引

3.5 Archive

3.6 BlackHole

黑洞引擎,写入的数据读会消失,一般用于做数据的中继

4 并发控制

当多个连接对记录的修改时保证数据的一致性和完整性

5 锁

5.1 共享锁(读锁)

在同一时间段内,多个用户可以读取同一个资源,读取过程中数据不会发生任何变化

5.2 排它锁(写锁)

在任何时候只能有一个用户写入资源,当进行写锁时会阻塞其他的读锁或写锁操作

6 锁颗粒

6.1 表锁

是一种开销最小的锁策略

6.2 行锁

是一种开销最大的锁策略

7 事务

用于保证数据库的完整性

8 事务的特性

原子性

一致性

隔离性

持久性

9 外键是保证数据一致性的策略

10 索引

是对数据表中一列或多列的值进行排列的结构

11 索引分为

普通索引

唯一索引

全文索引

hash索引

btree索引等等

12 修改储存引擎的方法

12.1 通过修改MYSQL配置文件实现

-default-storage-engine=engine

12.2 通过创建命令表实现

第一步 CREATE TABLE 表名

第二步 s1 字符长度如VARGINE(10)

第三步 ENGINE=你要修改的存储引擎

12.3 通过修改数据表命令实现

ALTER TABLE 表名 ENGINE=你要修改的存储引擎

0