9.MySQL存储引擎

2022-03-26 分类:mysql 阅读(275) 评论(0)

孙富阳, 江湖人称没人称。多年互联网运维工作经验,曾负责过孙布斯大规模集群架构自动化运维管理工作。擅长Web集群架构与自动化运维,曾负责国内某大型博客网站运维工作。

1.什么是存储引擎

存储引擎是MySQL中的“文件系统”

2.存储引擎的种类

1.Oracle MySQL自带的存储引擎种类

mysql> show engines;
FEDERATED
MEMORY
InnoDB
PERFORMANCE_SCHEMA
MyISAM
MRG_MYISAM
BLACKHOLE
CSV
ARCHIVE

2.分支产品的存储引擎种类介绍

Pwecona、Mariadb
TokuDB、MyRocks、Rocksdb
特点:
1.压缩比例15倍以上
2.插入数据性能高
适应场景:
例如Zabbix监控类的平台、归档库、历史数据存储业务

3.InnoDB存储引擎特性

MVCC:多版本并发控制
聚簇索引:用来组织存储数据和优化查询,IOT
支持事务:数据安全保证
支持行级锁:控制并发
外键
多缓冲区支持
自适应Hash索引:AHI
复制中支持高级特性
备份恢复:支持热备
自动故障恢复:CR Crash Recovery
双写机制:DWB Double Write Buffer

PS:InnoDB核心特性有那些?与M有ISAM区别有那些?

InnoDB支持事务、MVCC、聚簇索引、外键、缓冲区、AHI、CR、DW,MyISAM不支持
InnoDB支持行级锁,M有ISAM支持表级锁
InnoDB支持热备(业务正常运行,影响低),MyISAM支持温备份(锁表备份)。
InnoDB支持CR(自动故障恢复),宕机自动故障恢复,数据安全和一致性可以得到保证。MyISAM不支持,宕机可能丢失当前修改。

4.存储引擎的基本操作

1.查询支持的存储引擎

mysql> show engines;

2.查询、设置默认的存储引擎

mysql> select @@default_storage_engine;

vim /etc/my.cnf
default_storage_engine=InnoDB
重启生效

3.查看、设定表的存储引擎

查看某张表的存储引擎
show create table xta;
查询系统中所有业务表的存储引擎信息
mysql> select TABLE_SCHEMA,TABLE_NAME,ENGINE from information_schema.tables where TABLE_SCHEMA not in ('information_schema','performance_schema','sys','mysql');
创建表设定存储引擎
create table xxx (id int) engine=innodb charset=utf8mb4;
修改已有表的存储引擎
alter table xxx engine=innodb charset=utf8mb4;

评论已关闭

登录

忘记密码 ?

切换登录

注册

鲁ICP备2021019243号-1