MySQL两大存储引擎

本文介绍了MySQL的两种主要存储引擎MyISAM和InnoDB,MyISAM适合读密集型任务,而InnoDB则更适合写操作。同时,详细阐述了如何查看和修改表的存储引擎,包括使用SQL命令和修改配置文件。此外,还讨论了MySQL的ACID事务特性,强调了一致性的重要性,并提到了事务的四种隔离级别,以及如何通过它们来防止数据不一致。最后,简要概述了存储引擎在文件系统之上,负责数据I/O操作的角色。
摘要由CSDN通过智能技术生成

MySQL两大存储引擎

一、MySQL常用的存储引擎:

主要分为2个:
MyISAM:擅长于处理“读”的任务,比如select
InnoDB:功能性而言侧重于写的任务,比如insert、update、alter

PS:
MySQL数据库中的组件,负责执行实际的数据I/0操作
MySQL系统中,存储引擎处于文件系统之上,在数据保存到数据文件之前会传输到存储引擎,之后按照各个存储引擎的存储格式进行存储

二、系统引擎的查看修改:

1、查看系统支持的存储引擎:

show engines;

在这里插入图片描述

2、查看表使用的存储引擎:

方法一:不进入库的操作:
show table status from 库名 where name='表名'\G
实例:
show table status from school where name='class'\G

在这里插入图片描述
由图可知,使用的是InnoDB。

方法二:进入库操作:

use库名;
show create table 表名;
例:
use school;
show create table class\G

在这里插入图片描述

3、修改存储引擎:

方法一:通过alter table修改:

use库名;
alter table 表名engine=My ISAM;
例:
use school;
alter table class engine=MyISAM;
show create table class;

在这里插入图片描述

方法二:通过修改/etc/my.cnf 配置文件,指定默认存储引擎并重启服务:

vim /etc/my .cnf
	[mysqld] 
	default-storage-engine=INNODB
systemctl restart mysqld
注意:此方法只对修改了配置文件并重启mysql服务后新创建的表有效,已经存在的表不会有变更。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
方法三:通过create table创建表时指定存储引擎:

use库名;
create table 表名(字段1数据类型,...) engine=MyISAM;
实例:
mysql -u root -p
use school;
create table test9 (name varchar(10)) engine=MyISAM;
show create table test9\G

在这里插入图片描述

二、总结:

1、本章讲解了MySQL的事务四个特性ACID:
原子、一致、隔离、持久性

2、事务关键的一点:一致性,要么都成功,要么都失败,保存在自己的回滚日志中
对于事务过程中,我们可以对每一步SQL进行savepoint打标,为了方便回顾
提交事务:commit rollback

3、数据不一致的情况
4种(脏读、幻读、不可重复读、丢失更新)

4、为了解决避免数据不一致的情况,而使用了4种隔离机制—> RR (mysql的默认隔离机制,重读读取:可以解决脏读和不可重复读—— mysql默认的)

5、存储引擎
存储位于文件系统之上的一个组件,用于将mysql缓存中的数据,持久化到文件系统中
—> /usr/ local/mysql/data (mysql工作目录中的data目录)
—> 也是以上的位置,会保存在二进制日志文件中(保存的是SQL语句操作记录)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值