MySQL存储引擎

存储引擎的介绍及基本管理

一. 存储引擎介绍及基本管理


1. 存储引擎种类

InnoDB
MyISAM  
MRG_MyISAM
CSV 
MEMORY
SEQUENCE
Aria
PERFORMANCE_SCHEMA 

还可以使用第三方存储引擎

插件类存储引擎, 实在表级别设定的

MySQL 5.5 以后默认存储引擎innodb


第三方存储引擎 TokuDB(mariadb 5.7自带) ------> zabbix等监控软件上使用这个存储引擎

insert 操作, 比innodb快 2-3倍

压缩比: 对数据的压缩比达到8-10倍, 而 innodb只有2-3倍


2. Innodb存储引擎与MyISAM区别(面试题)


InnodbMyISAM
MVCC(多版本并发控制)不支持
锁(行级别)锁(表级别)
外键不支持
事务不支持
热备温备
CSR(断电时, 故障自动回复)不支持


3. 查看存储引擎

show engines;
show create table s19.city;
select table_schema,table_name,engine from information_schema.tables where engine='innodb';
select @@default_storage_engine;

s20.png

s21.png


4. Innodb存储引擎物理存储方式介绍


表空间(TBS)管理模式:

  • 独立表空间: 每个表单独使用表空间存储
-rw-rw----. 1 mysql mysql      1675 10月  6 21:25 city.frm  ----->city表的列的相关信息
-rw-rw----. 1 mysql mysql    114688 10月  6 21:25 city.ibd  ----->city表的数据和索引

其中.ibd文件, 被称之为表空间数据文件


  • 共享表空间: 所有的表数据统一放在一起
-rw-rw----. 1 mysql mysql  18874368 10月  7 17:24 ibdata1


mysql5.5版本: 表默认管理模式是共享表空间

mysql5.6版本以后: 表默认管理模式是独立表空间, 共享表空间也存在, 负责存一些系统表以及undo日志, tmp临时表

一般在初始化数据的时候就配置好共享表空间

/etc/my.cnf

innodb_data_file_path=ibdata1:512M;ibdata2:512M;autoextend


生产案例:

zabbix使用的是mysql5.5, 默认是共享表空间, 过一段时间, ibdata1文件越来越大, zabbix很慢, 文件容量已经达到500G

建议:

  1. 升级数据库到5.6或5.7版本
  2. 使用tokudb存储引擎

转载于:https://www.cnblogs.com/cjwnb/p/11632663.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值