您的位置:金沙游乐场85155 > 大数据库 > mysql 开发进阶篇系列 15 锁问题 (总结)金沙85155登

mysql 开发进阶篇系列 15 锁问题 (总结)金沙85155登

发布时间:2019-10-02 09:54编辑:大数据库浏览(171)

    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的锁机制和一致性读策略不同。

    页面锁

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

    myisam 锁机制

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

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

    调节myisam调度机制

    • 通过启动参数设定 low-priority-updates
    • 命令行: set LOW_PRIORITY_UPDATES = 1
    • sql语句中指定 insert update delete low_priority 属性

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

    辅助机制

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

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

    innodb 锁机制

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

    本文由金沙游乐场85155发布于大数据库,转载请注明出处:mysql 开发进阶篇系列 15 锁问题 (总结)金沙85155登

    关键词:

上一篇:没有了

下一篇:没有了