mysql 存储引擎 统计分析_mysql 存储引擎分析

数据库引擎:

数据库引擎顾名思义就是通过对数据、索引的存储,定义不同的存储方式,来保证在不同场景下,能够有效率的获取到数据

InnoDB(目标为处理大容量数据库系统):

事务性引擎,具有事务性(提供了对ACID事务的支持),外键,行级锁。

MySQL运行时Innodb会在内存中建立缓冲池,用于缓冲数据和索引。

不支持FULLTEXT类型的索引,而且没有存储整个表中的行数,所以select count(*) 需要全局扫描表

因为具有MVCC的行级锁的特性,在查询的时候,能够不锁定整个表,所以在并发较高时,使用Innodb引擎会提升效率。但是如果在查询的时候没有指定具体的扫描范围,没有明确主键,那么查询还是会锁住全表。

适用场景:

1:需要事务操作

2:经常需要更新操作的表:

3:外键约束。只有他支持外键

4:支持自动增加列属性auto_increment

5:需要断电恢复的

补充:什么叫事务?简称ACID

Atomic(原子性):要么执行要么不执行,即报错了可以进行回滚。当做没调用一样

Consistency(一致性):完整性约束了a+b=10,一个事务改变了a,那么b也应该随之改变.

Isolation(隔离性):两个事务不会进行交错执行的状态

Duration(持久性):事务成功后,结果会永远保存

MyIsam():

独立于操作系统,可以进行数据的迁移,例如从window迁移到linux

会创建三个文件,一个是.frm文件用于存储表的定义,一个是.MYD文件用于存储表的数据,另一个是.MYI文件用来存储索引文件

不具有外键,不具有实务,表级锁,查询更新会锁定整个表

不具有恢复功能。

适用场景:

不支持事务的设计,但是并不代表着有事务操作的项目不能用MyIsam存储引擎,可以在service层进行根据自己的业务需求进行相应的控制

高负载的select

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值