zoukankan      html  css  js  c++  java
  • mysql 表锁——读锁和写锁

    注意,

    0、表的索引类型必须是InnoDB.相关链接:http://www.cnblogs.com/CyLee/p/5579672.html

    1、如果你使用Navicat Premium,有可能会出现程序bug无法解锁。但在正常环境下是没问题的

    2、存储过程里不允许使用锁

    3、phpmyadmin是每次刷新都会重新链接一次,所以也不适合测试多会话(SESSION)

    4、互联网时代不太可能使用到表锁,通常是使用行锁,除非erp系统之类的内部系统

    读锁:所有的会话只能进行SELECT语句查询

    LOCK TABLE [TABLE_NAME] READ

    SELECT * FROM TABLE_NAME;

    INSERT INTO TABLE_NAME () VALUES (); #一直等待,直到解锁或者超时

    写锁:只有当前会话能增删改查,其他会话无法任何操作

    LOCK TABLE [TABLE_NAME] WRITE

     解锁:

    UNLOCK TABLES  #常规解锁
    
    LOCO TABLE [TABLE_NAME] READ  #再一次锁上,会解除上一次被拦截的对象。然后继续拦截
    
    LOCO TABLE [TABLE_NAME] WRITE  #再一次锁上,会解除上一次被拦截的对象。然后继续拦截
    
    
  • 相关阅读:
    JSTL和EL
    JSP
    Servlet基础知识
    JSON基础知识
    jQuery基础知识
    ajax基础知识
    索引实战
    反射
    设计模式
    JVM的异常处理
  • 原文地址:https://www.cnblogs.com/CyLee/p/5575152.html
Copyright © 2011-2022 走看看