myisam 不支持事务和行级锁
崩溃后无法安全恢复
myisam对整张表加锁,读取时需要对读到的所有锁加共享锁,写入时对表加排它锁。但是在表有读取查询的时候,也可以往表里插入新的记录(concurrent insert)
innodb采用mvcc支持高并发,实现了4个标准的隔离级别。通过间隙锁(next-key locking)防止幻读的出现。
我们可以采用基于多版本并发控制(Multiversion concurrency control,MVCC)思想的无锁事务机制。人们一般把基于锁的并发控
制机制称成为悲观机制,而把MVCC机制称为乐观机制。这是因为锁机制是一种预防性的,读会阻塞写,写也会阻塞读,当锁定粒度较大,时间较长时并发性能就不会太好;而MVCC是一种后验性的,读不阻塞写,写也不阻塞读,等到提交的时候才检验是否有冲突,由于没有锁,所以读写不会相互阻塞,从而大大提升了并发性能