说说Mysql中有哪几种锁
- 表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,并发度最低。
- 行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,并发度也最高。
- 页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;并发度一般。
说几种常见的存储引擎
- MyISAM
- InnoDB(常用)
- Memory
- 其他的不常用,面试中把这三种说出来基本ok了。
说说MySQL数据库中MyISAM和InnoDB的区别
MyISAM
- 不支持事务,但是每次查询都是原子的;
- 支持表级锁,即每次操作是对整个表加锁;
- 存储表的总行数;
- 一个MYISAM表有三个文件:索引文件、表结构文件、数据文件;
- 采用菲聚集索引,索引文件的数据域存储指向数据文件的指针。辅索引与主索引基本一致,但是辅索引不用保证唯一性。
InnoDB
- 支持ACID的事务,支持事务的四种隔离级别;
- 支持行级锁及外键约束:因此可以支持写并发;
<