Mysql存储引擎简单学习笔记

Mysql核心:存储引擎

需知:

存储引擎其实就是数据库底层软件组织中的一部分,增删改查等都需要借助于存储引擎。

mysql存储引擎是插件式存储引擎,可插拔。默认的存储引擎是InnoDB,可以自己切换或者自定义新的存储引擎。

所以mysql存储引擎有一个极大的优点: 可以根据存储机制,索引技巧以及锁定粒度等功能,选择不同的存储引擎。

1.查询mysql可支持使用的存储引擎:

    show engines;

效果如下:

在这里插入图片描述

可以发现,InnoDB是Mysql数据库默认支持的存储引擎。

2.存储引擎之间的差异(来自视频):
在这里插入图片描述

  • InnoDB
  1. 数据库底层储存格式为文件式:.frm结尾文件是放表结构的文件,.ibd结尾文件是放数据和索引的文件。
  2. 进入文件查看
 show VARIABLES like '%data%'

效果如下:
在这里插入图片描述

cmd 进入datadir; 效果如下:
在这里插入图片描述

javaweb 是我创建的一个数据库,cd javaweb +dir 进去, 效果如下:
在这里插入图片描述

可以发现,.ibd结尾的文件都是我创建的表数据。如果有.opt结尾的文件,就是用来存储编码格式之类的。

  1. Innodb支持事物:支持热备,如果是对数据完整性要求高,那么就选择支持事物的存储引擎;
  2. 锁的粒度:采用MVVC(多版本并发),支持高并发操作,支持四种事物隔离级别。锁粒度属于行锁,相对于表锁并发性高。
  3. 存储特点:采用聚簇索引,所以主键查询效率极高。
  4. 运用场景: 更新查询频繁,高并发,要求事物,需要外键约束
  • Myisam

    1. 存储形式:数据表文件;.frm结尾文件(数据表文件),.MYD结尾文件(数据文件),.MYI结尾文件(索引文件);与InnoDB不同在于,它将数据与索引分离了。
    2. 事物:不支持
    3. 存储特点:非聚簇
    4. 运用场景:计算,全文检索
  • Memory

    1. 存储形式:数据存储在内存中,增删改查 效率高,不能持久化,会丢失
    2. 事物:不支持
    3. 表级锁

3.Windows下如何自由切换存储引擎:

1.修改默认存储引擎:

在这里插入图片描述

记事本打开my,效果如下:

在这里插入图片描述

这里便可以修改了!

  1. 创建表时,给这张表加上想给它的存储引擎。
  create table emp(....) engine=Innodb;
  1. 查询表的基本信息(包括存储引擎):
 show table status from learningdata where name = 'emp'

效果如下:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值