事务隔离级别 四个级别, 只会?用到读已提交和可重复读这两个 mysql默认为可重复读 更建议使?用 不会加间隙锁(影响并发) 索引没触发, 不会锁表, 只是锁行 不可重复和幻读问题, ?般不需要管, 如果有强?致性要求, 加悲观锁/乐观锁 事务隔离级别指的是在处理同一个数据的多个事务中,一个事务修 ...
分类:
其他好文 时间:
2020-02-29 18:51:56
阅读次数:
70
常用的分布式锁 一、.基于数据库实现分布式锁 1. 悲观锁 利用select … where … for update 排他锁 注意: 其他附加功能与实现一基本一致,这里需要注意的是“where name=lock ”,name字段必须要走索引,否则会锁表。有些情况下,比如表不大,mysql优化器会 ...
分类:
其他好文 时间:
2020-02-24 09:22:34
阅读次数:
116
1. 为什么需要主从复制? a. 在复杂的业务中,有一个sql需要锁表,导致不能使用读的服务,影响业务的运行,使用主从复制,让主库写,从库读,保证业务的运行 b. 做数据的热备 c. 架构扩展,业务量原来越大,I/O访问评率过高,做多库存储,提高单个机器的I/O性能 2. 原理(默认采用的是异步的方 ...
分类:
数据库 时间:
2020-02-19 14:52:55
阅读次数:
79
悲观锁 总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁。 传统的关系型数据库中用到了很多这种锁机制,比如行级锁、表级锁、读锁、写锁等,都是在做操作之前先上锁。 使用场景:多写的场景 实现方式:加锁 乐观锁 总是假设最好的情况,每次去拿数据的时候都认为别人不会修 ...
分类:
数据库 时间:
2020-02-13 23:17:36
阅读次数:
129
封锁粒度 MySQL提供了两种封锁粒度:行级锁、表级锁 应该尽量只锁定需要修改的那部分数据,而不是所有的资源。 锁定的数据量越少,发生锁争用的可能性就越小,系统的并发程度就越高。 但是加锁需要消耗资源,锁的各种操作(获取锁、释放锁、检查锁状态)都会增加系统开销。 因此封锁粒度越小,系统开销就越大。 ...
分类:
数据库 时间:
2020-02-13 19:34:32
阅读次数:
93
问题描述 在使用postgres执行一个存储过程,存储过程的操作是对全库上百张表添加字段,执行到一半的时候抛出了错误:You might need to increase max_locks_per_transaction。 原因 因为一个过程中操作的表过多,超过了最大对象锁的限制数量,导致了异常。 ...
分类:
数据库 时间:
2020-02-11 19:06:24
阅读次数:
74
并发控制 锁粒度 MySQL 中提供了两种锁粒度:表级锁、行级锁。 表锁:写锁的优先级高于读锁;写锁的请求可以插入到读锁的前面,但读锁的请求却不能插入到写锁的前面; 行级锁:行级锁只在存储引擎层实现,在服务器层没有实现; 尽量只锁定需要修改的那部分数据,而不是所有的资源。锁定的数据量越少,发生锁争用 ...
分类:
数据库 时间:
2020-02-09 22:12:50
阅读次数:
102
1)Mysql数据库备份脚本(完整备份+异地备份)一般Mysql数据库备份会采用在MYSQL从库上执行全量备份+增量备份方式。在从库备份避免Mysql主库备份的时候锁表造成业务影响。#!/bin/bashset-e#当脚本有错误时,便停止执行脚本#备份的数据库名DATABASES=("magedu01""magedu02")USER="root"PASSWORD="dbpwd123"MAIL="1
分类:
系统相关 时间:
2020-02-05 10:15:25
阅读次数:
137
1.自定义结果集介绍 自定义结果集,可以给复杂的对象使用。也就是对象内又嵌套一个对象。或者一个集合。在这种情况下。前面学过的知识点,已经无法直接获取出对象内对象的信息。这个时候就需要使用resultMap自定义结果集来返回需要的数据。 2.创建数据表的sql ## 一对一数据表 ## 创建锁表 cr ...
分类:
其他好文 时间:
2020-02-03 22:23:50
阅读次数:
100