zoukankan      html  css  js  c++  java
  • MySQL中的锁定语句: lock tables 和 unlock tables

    lock tables 用于锁定当前线程的表。如果表被其他线程锁定,则当前线程会等待,直到可以获取所有的锁定为止。

    unlock tables 用于释放当前线程获得的任何锁定。

    一个获得表锁和释放表锁的例子
    session_1 session_2

    获得表 t11 的read 锁定:

    lock table t11 read;

     

    当前session可以查询该表记录:

    select * from  t11 where c1 = 131072.20

    其他session也可以查询该表的记录:
    select * from  t11 
     

    其他session插入锁定表会等待获得锁:

    INSERT INTO t11 VALUES(123.0,123.0)

    等待。。。

    释放锁:

    unlock tables

    等待。。。
     

    session获得锁,插入操作完成:

    1 queries executed, 1 success, 0 errors, 0 warnings

    查询:insert into t11 values(123.0,123.0)

    共 1 行受到影响

    执行耗时 : 45.100 sec
    传送时间 : 0 sec
    总耗时 : 45.100 sec

     查看表数据:

     select * from  t11 where c1 = 123.0                        

     查看表数据:

     select * from  t11 where c1 = 123.0

  • 相关阅读:
    7进程、线程、协程
    架构
    5oop面向对象编程
    2流程控制
    redis
    1HTML
    3.函数、递归、模块
    2、变量、数据类型、运算符、流程控制
    一个小公司的性能测试工程师应该如何开展工作
    程序代码调优工具perf学习记录
  • 原文地址:https://www.cnblogs.com/kate7/p/13357439.html
Copyright © 2011-2022 走看看