一、 现象 用户打开消息推送有概率报错,后续发现推送消息阅读数、点赞数无法正常更新,mysql报警有行锁, DBA抓到有锁表语句,kill该语句未正常恢复,elk日志有大量的java.sql.SQLException: connection holder is null 重启应用恢复 二、分析 根据 ...
分类:
其他好文 时间:
2020-05-23 16:53:18
阅读次数:
50
摘要 在这篇文章中,我将从上一篇的一个小例子开始,跟你介绍一下InnoDB中的行锁。 在这里,会涉及到一个概念:两阶段加锁协议。 之后,我会介绍行锁中的S锁和X锁,以及这两种锁的作用。 但是我们会发现仅仅有行锁是不能解决幻读问题的,于是我会用例子的方式跟你介绍各种间隙锁。 最后,我会聊一聊粒度更大的 ...
分类:
数据库 时间:
2020-05-13 09:36:37
阅读次数:
72
InnoDB与MyISAM的最大不同有两点:一是支持事务(TRANSACTION);二是采用了行级锁。行级锁与表级锁本来就有许多不同之处,另外,事务的引入也带来了一些新问题。下面我们先介绍一点背景知识,然后详细讨论InnoDB的锁问题。 背景知识 事务(Transaction)及其ACID属性 事务 ...
分类:
数据库 时间:
2020-05-11 01:16:09
阅读次数:
89
可能你从未看到过这样的一篇集中火力式的把mysql参数列了这么全的文章,很有兴曾参与过超3万并发的18~19年的数轮520、618、双11、双12保卫战。因此这一篇是汇集了最精华和实战的内容把mysql所有的参数列在这边供大家参考。并且以(64c cpu,128gb内存)的mysql cpu和内存来 ...
分类:
数据库 时间:
2020-05-10 13:14:22
阅读次数:
89
Mysql中有哪几种锁? 1.表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 2.行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。 3. 页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发 ...
分类:
数据库 时间:
2020-05-06 14:09:11
阅读次数:
103
第二章:Oracle里的执行计划2.1 什么是执行计划Oracle用来执行目标SQL语句的这些步骤的组合就被称为执行计划。执行计划可以分为如下三个部分:1、目标SQL的正文、SQL ID和其执行计划所对应的的PLAN HASH VALUE。2、执行计划的主体部分。可以看到Oracle在执行目标SQL ...
分类:
数据库 时间:
2020-05-04 01:01:37
阅读次数:
86
面对日益增加的系统访问量,数据库的吞吐量面临着巨大瓶颈。 对于同一时刻有大量并发读操作和较少写操作类型的应用系统来说,将数据库拆分为主库和从库,主库负责处理事务性的增删改操作,从库负责处理查询操作,能够有效的避免由数据更新导致的行锁,使得整个系统的查询性能得到极大的改善。 通过一主多从的配置方式,可 ...
分类:
数据库 时间:
2020-05-03 10:20:40
阅读次数:
239
悲观锁与乐观锁是人们定义出来的概念,你可以理解为一种思想,是处理并发资源的常用手段。其与mysql中提供的锁机制(表锁,行锁,排他锁,共享锁)并不同,后者可以成为前者的实现手段。 悲观锁 顾名思义,就是对于数据的处理持悲观态度,总认为会发生并发冲突,获取和修改数据时,别人会修改数据。所以在整个数据处 ...
分类:
其他好文 时间:
2020-05-02 11:45:58
阅读次数:
70
DB2和Oracle区别 转 http://blog.chinaunix.net/uid-7374279-id-2057574.html 写在前面:今天客户来访(日本人),问我DB2和Oracle区别。因为不是DBA(勉强的理由),我还真没有认真总结过。但我的第一感觉:一个是instance,一个是 ...
分类:
数据库 时间:
2020-04-28 20:25:33
阅读次数:
87
1、MySQL 中有哪几种锁? 1、表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最 高,并发度最低。 2、行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最 低,并发度也最高。 3、页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表 锁和行锁 ...
分类:
数据库 时间:
2020-04-26 16:50:59
阅读次数:
88