ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:首页 >> 数据库 >> 其他数据库 >> 关系型数据库之Mysql引擎-日志-用户管理三

关系型数据库之Mysql引擎-日志-用户管理三(1/14)

来源:网络整理     时间:2016-06-03     关键词:关系型数据库,Mysql

本篇文章主要介绍了"关系型数据库之Mysql引擎-日志-用户管理三",主要涉及到关系型数据库,Mysql方面的内容,对于其他数据库感兴趣的同学可以参考一下: MySQL锁机制 相对其他数据库而言,MySQL的锁机制比较简单,其最显着的特点是不同的存储引擎支持不同的锁机制。执行操作时施加的锁的模式 读锁:...

MySQL锁机制

     相对其他数据库而言,MySQL的锁机制比较简单,其最显着的特点是不同的存储引擎支持不同的锁机制。

执行操作时施加的锁的模式
    读锁:用户在读的时候施加的锁,为防止别人修改,但是用户可以读,还被称为共享锁
    写锁:独占锁,排它锁。其他用户不能读,不能写

MySQL大致可归纳为以下3种锁:
    表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。
    行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。
    页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般

锁的实现位置:
MySQL锁:可以手动使用,可以使用显示锁
存储引擎锁:自动进行的(隐式锁),
显示锁:
    lock tables:施加锁
    LOCK TABLES
   tbl_name lock_type
   [, tbl_name lock_type]  
锁的类型:
READ | WRITE
    unlock tables:解锁

案例演示之读锁:

客户端A:对student表施加读锁

mysql> LOCK TABLES student READ;
mysql> UNLOCK TABLES;

mysql数据库关系图,mysql数据库表关系图,mysql关系数据库,mysql数据库关联关系,mysql数据表关系图,mysql 数据关系图,mysql数据库,mysql 创建数据库,java连接mysql数据

客户端B:对student表执行编辑操作,可以看到是无法正常执行的,查询操作没有问题:

mysql> select * from student;
mysql> update student set Class = 1 where Age = '18';

mysql数据库关系图,mysql数据库表关系图,mysql关系数据库,mysql数据库关联关系,mysql数据表关系图,mysql 数据关系图,mysql数据库,mysql 创建数据库,java连接mysql数据

下图为解锁后执行的语句结果:

mysql数据库关系图,mysql数据库表关系图,mysql关系数据库,mysql数据库关联关系,mysql数据表关系图,mysql 数据关系图,mysql数据库,mysql 创建数据库,java连接mysql数据

案例演示之写锁:

客户端A:对student表施加写锁

相关图片

相关文章