1. 系统版本 MySQL 5.7.25 ubuntu 16.04 2. 全局锁 全局锁即对整个数据库实例加锁,使得整个库处于只读状态,会阻塞DML和DDL语句。使用如下命令(简称FTWRL)可为数据库加全局锁:flush tables with read lock;释放全局锁命令如下:unlock ...
分类:
数据库 时间:
2019-04-20 18:16:30
阅读次数:
202
1、mysql锁概述 BDB被InnoDB代替了,MyIsam在8.0也被抛弃了 2、MyIsam表锁 MyIsam存储引擎只支持表锁。 查看表锁争用情况。 show status like 'table%'; 其中,table_locks_waited 如果值较大,证明锁争用明显。 如图,当对My ...
分类:
数据库 时间:
2019-04-08 18:39:10
阅读次数:
185
Delete Delete :删除数据表中的行(可以删除某一行,也可以在不删除数据表的情况下删除所有行)。 删除某一行:Delete from 数据表名称 where 列名称=值; 删除所有行:Delete * from 数据表名称 Drop Drop :删除数据表或数据库,或删除数据表字段。 删除 ...
分类:
数据库 时间:
2019-04-08 15:46:54
阅读次数:
181
悲观锁 总是架设最坏的请款,每次拿数据都认为别人会修改数据,所以要加锁,别人只能等待,直到我释放锁才能拿到锁;数据库的行锁、表锁、读锁、写锁都是这种方式,java中的synchronized和ReentrantLock也是悲观锁的思想。 乐观锁 总是架设最好的情况,每次拿数据都认为别人不会修改数据, ...
分类:
其他好文 时间:
2019-03-12 14:17:13
阅读次数:
189
悲观锁 总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做 ...
分类:
其他好文 时间:
2019-03-02 18:27:39
阅读次数:
169
锁的分类: 1.从粒度来分:表锁和行锁。 2.从类型来分:读锁和写锁。 表锁 偏向MyISAM存储引擎,加锁快,开销小,并发程度最低。 当事务1对表A上了读锁,事务1再想去select同数据库下的其他表就不给查了。事务2此时要修改表A,就阻塞了。 当事务1对表A上了写锁,再想去查找同数据库下其他的表 ...
分类:
数据库 时间:
2019-02-27 20:38:24
阅读次数:
224
哇,时隔两天时间,终于找到这个问题的解决办法,先看问题 这是我最近写的家庭记账本网页版,按顺序输入点击保存,总是弹出添加失败的提示 顺着找原因,把原因锁定在dao层的sql语句上,反复检查,没有找到一点毛病,程序其他地方也没有错误,这让我郁闷了好久,今晚查了一下控制台里的这条错误提示,我找到了答案, ...
分类:
数据库 时间:
2019-02-27 01:20:35
阅读次数:
195
一.Mysql锁分类 二.MyISAM 1.开门见山 MyISAM表锁有两种模式:表共享读锁(table read lock)和表独占写锁(table write lock),锁的解释如下: myISAM表的读操作,不会阻塞其他用户对同一个表的读请求,但会阻塞对同一个表的写请求。 myISAM表的写 ...
分类:
数据库 时间:
2019-02-25 09:26:27
阅读次数:
224
## ##在MySQL 5.6.7版本前,DDL操作主要有copy和inplace两种方式,两种方式全程都需要锁表禁止写操作,允许部分时间段的读操作。copy方式: (1)新建带索引的临时表 (2)锁原表,禁止DML,允许查询 (3)将原表数据拷贝到临时表(无排序,一行一行拷贝) (4)进行rena ...
分类:
数据库 时间:
2019-02-17 12:30:58
阅读次数:
193
重新学习Mysql数据库7:详解MyIsam与InnoDB引擎的锁实现 说到锁机制之前,先来看看Mysql的存储引擎,毕竟不同的引擎的锁机制也随着不同。 三类常见引擎: MyIsam :不支持事务,不支持外键,所以访问速度快。锁机制是表锁,支持全文索引 InnoDB :支持事务、支持外键,所以对比M ...
分类:
数据库 时间:
2019-02-08 21:55:22
阅读次数:
213