立即学习:https://edu.csdn.net/course/play/10458/232199?utm_source=blogtoedu
show status like 'Innodb_row_lock%';
说明:
- innodb_row_lock_current_waits:当前正在等待锁定的数量
- innodb_row_lock_time:从系统启动到现在锁定时间总长度
- innodb_row_lock_time_avg:每次等待所花费平均时间
- innodb_row_lock_time_max:从系统启动到现在等待最长的一次所花费的时间
- innodb_row_lock_waits:系统启动后到现在总共等待的次数
优化建议:
- 尽可能让所有数据检索都通过索引来完成,避免无索引行锁升级为表锁
- 合理设计索引,尽量缩小锁的范围
- 尽可能减少检索条件,避免间隙锁
- 尽量控制事务大小,减少锁定资源量和时间长度
- 尽可能低级别事务隔离
页锁:开销和加锁时间介于表锁和行锁之间;会出现死锁;锁定粒度介于行锁和表锁之间,并发度一般