操作数据库的时候,可能会由于并发问题而引起的数据的不一致性(数据冲突) 乐观锁 乐观锁不是数据库自带的,需要我们自己去实现。乐观锁是指操作数据库时(更新操作),想法很乐观,认为这次的操作不会导致冲突,在操作数据时,并不进行任何其他的特殊处理(也就是不加锁),而在进行更新后,再去判断是否有冲突了。 通 ...
分类:
数据库 时间:
2018-08-28 13:03:33
阅读次数:
190
VACUUM命令存在两种形式,VACUUM和VACUUM FULL,它们之间的区别见如下表格: 无VACUUM VACUUM VACUUM FULL 删除大量数据之后 只是将删除数据的状态置为已删除,该空间不能记录被重新使用。 如果删除的记录位于表的末端,其所占用的空间将会被物理释放并归还操作系统。 ...
分类:
数据库 时间:
2018-08-27 12:47:09
阅读次数:
327
一 SQL Server 锁类型的说明 在SQL Server数据库中加锁时,除了可以对不同的资源加锁,还可以使用不同程度的加锁方式,即有多种模式,SQL Server中锁模式包括: 1.共享锁(S) 共享锁用于所以的制度数据操作。共享锁是非独占的,允许多个并发事务读取其锁定的资源。默认情况下,数据 ...
分类:
数据库 时间:
2018-08-25 20:36:33
阅读次数:
251
MYSQL中的锁:语法 :LOCK TABLE 表名1 READ|WRITE, 表名2 READ|WRITE .................. 【锁表】UNLOCK TABLES 【释放表】 Read:读锁|共享锁 : 所有的客户端只能读这个表不能写这个表Write:写锁|排它锁: 所有当前锁定 ...
分类:
数据库 时间:
2018-08-16 14:05:43
阅读次数:
219
1、MySQL 逻辑架构,上层客户端 》连接/线程处理 》解析器 》优化器 》存储引擎,解析器如果有生成查询缓存,那么连接/线程处理也有可能直接到查询缓存,返回结果,图如下 2、并发控制,读写锁,共享锁,排他锁,锁粒度(表锁 table lock 行级锁 row lock) 3、事务 :原子性,一致 ...
分类:
数据库 时间:
2018-08-12 10:28:53
阅读次数:
192
一、出现线程安全性问题的条件 ?在多线程的环境下 ?必须有共享资源 ?对共享资源进行非原子性操作 二、解决线程安全性问题的途径 ?synchronized (偏向锁,轻量级锁,重量级锁) ?volatile ?JDK提供的原子类 ?使用Lock(共享锁,排它锁) 三、认识的“*锁” ?偏向锁 Jav ...
分类:
编程语言 时间:
2018-08-11 21:58:09
阅读次数:
155
锁的作用:避免并发请求时对同一个数据对象同时修改,导致数据不一致。 怎么加锁: 1.事务T1在对某个数据对象R1操作之前,先向系统发出请求,对其加锁L1. 2.之后,事务T1对该数据对象R1有了相应的控制,在T1释放L1之前,其它事务不能修改R1. 锁类型: 1.排它锁(X)。 2.共享锁(S)。 ...
分类:
数据库 时间:
2018-08-06 23:19:04
阅读次数:
237
前言 CountDownLatch是一个闭锁实现,它可以使一个或者多个线程等待一组事件发生。它包含一个计数器,用来表示需要等待的事件数量,coutDown方法用于表示一个事件发生,计数器随之递减,而await方法等待计数器为0之前一直阻塞。它是基于AQS的共享锁来实现的,其中使用了较多的AQS的方法 ...
分类:
其他好文 时间:
2018-07-27 01:18:11
阅读次数:
171
实验环境: mysql5.6 存储引擎:innoDB 我们在操作数据库的时候,可能会由于并发问题而引起的数据的不一致性(数据冲突) 乐观锁 乐观锁不是数据库自带的,需要我们自己去实现。乐观锁是指操作数据库时(更新操作),想法很乐观,认为这次的操作不会导致冲突,在操作数据时,并不进行任何其他的特殊处理 ...
分类:
数据库 时间:
2018-07-26 21:11:35
阅读次数:
217
mysql的锁机制比较简单,最显著的特点是不同的存储引擎支持不同的锁机制。innodb支持行锁,有时也会升级为表锁;myisam只支持表锁。表锁的特点就是开销小、加锁快;不会出现死锁;锁粒度大,发生锁冲突的概率高,并发度相对低。行锁的特点就是开销大、加锁慢;会出现死锁;锁粒度小,发生锁冲突的概率低,并发度也相对较高。1、innodb的锁类型:主要有:读锁(共享锁)、写锁(排他锁)、意向锁和MDL锁
分类:
数据库 时间:
2018-07-25 16:11:08
阅读次数:
204