理解mysql_锁的概念

对于锁需要重点掌握以下:
  1.  锁分类
  ● 表锁
  ● 行锁
  ● 对象锁(meta-table锁),在table cache层实现
  ● 页锁
  ● 排他锁(互斥锁、X锁)
  ● 共享锁(S锁)

2.锁的使用注意事项
  ● innodb引擎是行级锁,适用于高并发场景的后台系统
  ● myisam引擎采用的是表级锁,适用于前端web系统
  ● 执行delete\update时默认会加互斥锁
  ● innodb, 如果delete \update在where条件后的字段没有加索引,会造成锁表,严重并发性能
  ● 修改字段、删除主键、删除主键字段时会造成meta-table锁

设置锁等待超时时间: innodb_lock_wait_timeout=500 (单位为s)
锁常用的命令:
  ● 查看表锁争用情况
          show status like 'table%'
         

      value值越高,锁争用情况越严重。

  ● 查看锁表的状态
          show processlist;
          对应的status值能看出来是否有锁表。
       

猜你喜欢

转载自maozhr520.iteye.com/blog/2384930