事务与锁表.md

  1. innodb 行锁是基于索引实现的,如果不通过索引访问数据,innodb会使用表锁。

手工锁表、释放锁

  • lock table table_name read/write
  • unlock table

     http://www.cnblogs.com/MrHSR/p/9376086.html

锁的类型

 2. Innodb 间隙锁(Next-key)机制,以及innodb使用间隙锁的原因

表锁

  • show status like 'table%'查看表锁的竞争情况
    • Table_locks_waited 表示表级锁的争用情况

  http://www.cnblogs.com/MrHSR/p/9390350.html

行锁

 3.不同隔离级别下,innodb的锁机制和一致性读策略不同。

页面锁

  

myisam 锁机制

myisam 更新的sql语句执行优先级优于查询语句,一旦大量的更新操作就会阻塞表,导致死锁。锁myisam引擎不适合大量更新的表。

 4.mysql 的恢复和复制对innodb锁机制和一致性读策略也有较大影响。

调节myisam调度机制

  • 通过启动参数设定 low-priority-updates
  • 命令行: set LOW_太阳集团所有网址16877,PRIORITY_UPDATES = 1
  • sql语句中指定 insert update delete low_priority 属性

  

辅助机制

通过设置max_write_lock_count设置合适的值避免一直查询不到数据

 5.调整锁冲突和死锁策略

innodb 锁机制

innodb行锁是通过给索引上的索引项加锁来实现,只有通过索引条件检索数据,innodb才使用行级锁,否则使用表锁

本文由太阳集团所有网址16877发布于太阳集团城网址送彩金,转载请注明出处:事务与锁表.md

您可能还会对下面的文章感兴趣: