-
6个SQL查询小技巧
1、行列转换 问题:假设有张学生成绩表(tb)如下: 想变成(得到如下结果): 代码: WITH tb(姓名,课程,分数) AS ( SELECT N'张三',N'语文',74 UNION ALL S...
-
MySQL:好好的索引,为什么要下推?
前段时间有读者提议讲讲索引下推,这期就把这事儿安排上。多余的前言就不赘述了,我们直接开始。 列位坐好! - 思维导图 - 回表操作 对于数据库来说,只要涉及到索引,必然绕不过去回表操作。当然这也是我们...
-
一张Excel表看透MySQL 8.0的文件变化
对于MySQL 8.0的特性,我们有很多的角度可以解读,但是总是感觉缺少点什么,到底8.0有哪些直观的变化,今天我就通过文件的角度来一窥MySQL 8.0的变化。 我们选取了如下的MySQL版本。 1...
-
原来大厂Redis分布式锁都这么设计的!
1 本地锁 常用的即 synchronize 或 Lock 等 JDK 自带的锁,只能锁住当前进程,仅适用于单体架构服务。而在分布式多服务实例场景下必须使用分布式锁。 2 分布式锁 2.1 分布式锁的...
-
Redis 中如何根据两个字段排序
Redis 是一个内存型数据库,其最大的作用就是当做缓存使用。提供了几种数据类型,方便开发过程中应对不同的需求场景。 需求是这样的,有一些需要排序的数据,按照不止一个维度进行排序,对应到数据库里,就是...
-
数据源集市实时流转MySQL状态表的优化方案
自打构建数据源集市的技术栈以来,其实整个体系也在不断的完善,在数据流转的出口方向我们基本达成了一致,那就是在保证数据准确性和稳定性的基础上尽可能按照实时的标准去落地数据交付效率,所以数据源集市的目标不...
-
一不小心把MySQL密码忘记了,该怎么办?
一、问题背景 很久之前,在centos服务器上安装了mysql5.7的数据库,但是很长时间没有使用过,里面有很多宝贵的数据,但是不幸的是密码忘记了~~。 此时,就想是否有一种办法,能找回密码或者修改密...
-
5个方案告诉你:高并发下先操作数据库还是先操作缓存?
前言 在分布式系统中,缓存和数据库同时存在时,如果有写操作的时候,先操作数据库还是先操作缓存呢?先思考一下,可能会存在哪些问题,再往下看。下面我分几种方案阐述。 缓存维护方案一 假设有一写(线程A)一...
-
MySQL 8.0.23新特性 - 不可见列
在新的MySQL 8.0.23中,引入了新的有趣功能:不可见列。 这是第一篇关于这个新功能的文章,我希望写一个3篇的系列。这是前言。 在MySQL 8.0.23之前,表中所有的列都是可见的(如果您有权...
-
MySQLump 参数--Lock-Tables浅析
mysqldump有一个参数--lock-tables,以前对这个参数也没有深入、详细了解过,直到上次有个网友问“参数lock-tables 是一次性锁定当前库的所有表,还是锁定当前导出表?“ ,之前...
