mysql 系统表 存储引擎_Mysql存储引擎

MyISAM存储引擎

Mysql5.5版本以前的默认存储引擎,大部分系统表、临时表(在排序、分组等操作中,数量超过一定大小后,由查询优化器建立的临时表)使用MyISAM存储引擎

构成:MYD:数据文件;MYI:索引文件

特性: 支持表级锁,所以在并发性高的情况下,性能不是很好。

表损坏修复(检查表:check table tabllename;修复表:repair  table tablename)

支持表的全文索引

支持压缩操作(减少磁盘IO),压缩后不能再写入,只能读。myisampack命令行工具

不支持事务

Innodb存储引擎:

5.5版本开始,mysql中建立数据库默认存储引擎为Innodb。Innodb使用表空间存储数据(系统表空间,独立表空间)

mysql> show variables like 'innodb_file_per_table';

innodb_file_per_table=on-----------独立表空间:tablename.ibd

innodb_file_per_table=off-----------系统表空间:ibdataX

系统表空间,独立表空间对比:

5.5版本前默认使用系统表空间

系统表空间无法简单收缩文件大小(删除表数据时,系统表空间不会缩小空间)

独立表空间可以通过optimize table命令收缩系统文件

系统表空间可能会产生IO瓶颈,独立表空间可同时对多个表同时进行IO操作

系统表空间到独立表空间的转换:

1、使用mysqldum导出所有表数据

2、停止mysql服务,修改相关参数,删除Innodb相关文件

3、重启mysql服务,重建Innodb独立表空间

4、重新导入数据

Innodb存储引擎特性:

事务性存储引擎(原子性、隔离性、一致性、持久性)

Redo日志(事务提交后,修改后的数据存放到缓冲器,每隔一段时间刷写到磁盘)mysql> show variables like 'innodb_log_buffer_size';

Undo日志(未提交事务的回滚---一致性、原子性)

行级锁能支持更大的并发

CSV存储引擎:

数据以文件方式存储在文件中

.CSV文件存储表内容

.CSM文件存储表元数据和表状态和数据量

.frm文件存储表结构信息

所有列不能为空、不支持索引

Archive存储引擎:

以zlib对表数据进行压缩,磁盘IO更少

数据存储在ARZ后为后缀的文件中

只支持inert和select操作,只允许在自增ID列建立索引

Memory存储引擎:

数据存放在内存中,读写速度快,但是服务器重启或宕机数据会丢失

使用场景:

用于查找或者映射表,例如邮编和地区的对应表

保存数据分析中产生的中间表

缓存周期性聚合数据的结果表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值