zoukankan      html  css  js  c++  java
  • mysql管理

    mysql的锁:

      读锁:共享锁。添加锁后对读没有影响,但是对写会阻塞。

      写锁:独占锁。添加锁后对读写均会阻塞。

      表锁:

      行锁:

      锁的实现位置:mysql服务层(sql语句的解析、优化):手动添加lock table table_name lock_type;其中lock_type为read和write。unlock。

             存储引擎层:InnoDB也支持手动添加锁,且锁为行级别的锁。select * from table1 where .. lock in share mode;和select * from table1 where .. lock for update;锁在执行完后就自动释放。但其他的存储引擎都是自动添加锁。

    事务:事务只针对查询语句而言。就是ACID。

      A:原子性,在一个事务中不能作多个操作。

      C:一致性,事务前后的客观事实不会发生改变。

      I:隔离性,是指在事务提交之前所有的修改对其他人是不可见的。

      D:持久性,事务一旦提交,就是永久有效。

      mysql启动事务:start transaction,rollback,commit,savepoint indentifiy。myISAM不支持事务。对于InnoDB如果不手动开启事务,对于每一条语句都是自动提交事务。用show global variables like 'autocommit';查看是否为自动自动提交,用set global autocommit=off;

    隔离级别:读未提交读已提交、可重读、串行执行。例子:一张银行卡,你和你对象一起用。

      查看隔离级别用show global variables like '%tx_isolation%';

    MVCC:多版本并发控制。对InnoDB,每个事务启动时,都会为当前创建一个快照,所有操作都在当前快照中操作。只在读已提交和可重读下有效。

  • 相关阅读:
    C++11 指针成员与拷贝构造(浅拷贝与深拷贝)
    C++11 委派构造函数
    C++11 继承构造函数
    C++11 局部和匿名类型作模板实参
    C++11 外部模板
    C++11 函数模板的默认模板参数
    2D游戏新手引导点光源和类迷雾实现
    UVA 12293
    【算法】8 图文搭配诠释三种链表及其哨兵
    小米面试
  • 原文地址:https://www.cnblogs.com/Jc-zhu/p/4723878.html
Copyright © 2011-2022 走看看