InnoDB 引擎 sql 使用不当(如非主键、索引条件)会退化为表锁.
优势: 并发读没问题, 消耗资源少, 加减锁速度快, 可以避免死锁....所以取了折衷的页级,一次锁定数据页中相邻的一组记录
mysql 中的BDB引擎支持页级锁
大概锁的层次结构关系
2....它在数据库中的学名叫做 闩锁(一种轻量级的锁), 在 InnoDB 存储引擎中,latch又可以分为 mutex(互斥量)和 rwlock(读写锁), 其目的是用来保证并发线程操作临界资源的正确性,并且通常没有死锁检测的机制....
# 查看关于闩锁的统计信息
SHOW ENGINE INNODB MUTEX ;
+--------+------------------------+---------+
| Type |...不过如果出现了长时间获取不到锁, 数据库会自动进行死锁检测, 并进行终止.
当然,保证业务中操作数据库的执行顺序, 避免交叉执行, 基本能够避免的死锁情况。