MySQL锁
· 表锁:开销小,加锁快;不会出现死锁;锁定力度大,发生锁冲突概率高,并发度最低
· 行锁:开销大,加锁慢;会出现死锁;锁定粒度小,发生锁冲突的概率低,并发度高
· 页锁:开销和加锁速度介于表锁和行锁之间;会出现死锁;锁定粒度介于表锁和行锁之间,并发度一般
MyISAM表锁
MyISAM存储引擎只支持表锁,
查询表级锁争用情况
可以通过检查table_locks_waited和table_locks_immediate状态变量来分析系统上的表锁定争夺:
[html] view plain copy
1. mysql> show status like 'table%';
2. +-----------------------+-------+
3. | Variable_name | Value |
4. +-----------------------+-------+
5. | Table_locks_immediate | 2979 |
6. | Table_locks_waited | 0 |
7. +-----------------------+-------+
8. 2 rows in set (0.00 sec))
如果Table_locks_waited的值比较高,则说明存在着较严重的表级锁争用情况。