zoukankan      html  css  js  c++  java
  • 共享锁和排它锁

    排它锁(Exclusive Locks,即X锁)

    1、对于UPDATE、DELETE和INSERT语句,InnoDB会自动给涉及数据集加排他锁(X);对于普通SELECT语句,InnoDB不会加任何锁

    2、如果一个事务对某一行数据加了X锁,另一个事务既不能对相应的行加S锁也不能加X锁。

    共享锁(Share Locks,即S锁)

    1、如果一个事务对某一行数据加了S锁,另一个事务还可以对相应的行加S锁,但是不能对相应的行加X锁。

    读锁和写锁是互斥的,读写操作是串行的,都处于等待队列中时,即使写锁后到,也会优先执行写锁,如果写锁执行时间过长,可能会产生死锁;

    解决办法

    1. 通过指定启动参数low-priority-updates,使MyISAM引擎默认给予读请求以优先的权利
    2. 通过执行命令SET LOW_PRIORITY_UPDATES=1,使该连接发出的更新请求优先级降低
    3. 通过指定INSERT、UPDATE、DELETE语句的LOW_PRIORITY属性,降低该语句的优先级
      、系统参数max_write_lock_count设置一个合适的值,当一个表的读锁达到这个值后,MySQL就暂时将写请求的优先级降低,给读进程一定获得锁的机会
  • 相关阅读:
    ActionContext和ServletActionContext
    1.有Dao为什么还要Service?
    1.DBCP和CP30的区别
    设计模式之单例模式(java实现)
    DOM之练习2
    js之DOM练习题
    动态改变dom结构常用方法
    js 自动类型转换
    定位属性position
    html基础
  • 原文地址:https://www.cnblogs.com/ngrzr/p/11906769.html
Copyright © 2011-2022 走看看