mysql存储引擎

常用的存储引擎

① Innodb:行(记录)锁,事务(回滚),外键,全文索引。mysql版本>=5.5 中默认的存储引擎,MySql推荐使用的存储引擎

② Myisam:表锁,全文索引

Innodb

存储格式

innodb存储引擎  每个数据表有单独的“结构文件.frm

数据索引集中存储,存储于同一个表空间文件ibdata1

存储顺序

数据的写入顺序  存储顺序不一致,插入时做排序工作,效率低,速度比Myisam慢。

并发处理

选择行锁,并发能力比myisam强,

锁机制

当客户端操作表(记录)时,为了保证操作的隔离性(多个客户端操作不能相互影响),通过加锁来处理。

操作方面:

读锁:读操作时增加的锁,也叫共享锁,S-lock。特征是所有人都只可以读,只有释放锁之后才可以写。

写锁:写操作时增加的锁,也叫独占锁或排他锁,X-lock。特征,只有锁表的客户可以操作(读写)这个表,其他客户读都不能读。

锁定粒度(范围)

表级锁:开销小,加锁快,发生锁冲突的概率最高,并发度最低。myisaminnodb都支持。

行级锁:开销大,加锁慢,发生锁冲突的概率最低,并发度也最高。innodb支持 

Tips:默认情况,表锁和行锁都是自动获得的,不需要额外的命令。

myisaminnodb的取舍

innodb: 适合业务逻辑比较强的系统,修改操作较多的。例如办公系统、商城系统。

myisam写入数据非常快,适合写入、读取操作多的系统。

查看存储引擎

原文地址:https://www.cnblogs.com/jdbeyond/p/11366149.html