数据库

幻读在 MySQL InnoDB 中是被如何解决的?

幻读在 MySQL InnoDB 中是被如何解决的?

在MySQL事务初识中,我们了解到不同的事务隔离级别会引发不同的问题,如在 RR 级别下会出现幻读。但如果将存储引擎选为 InnoDB ,在 RR 级别下,幻读的问题就会被解决。在这篇文章中,会先介绍什么是幻读、幻读会带来引起那些问题以及 InnoDB 解决幻读的思路。 实验环境:RR,MySQL

Joe.Ye Joe.Ye 2023-04-01
0 0 0
MySQL中的索引详解

MySQL中的索引详解

前言 因为现在使用的MySQL默认存储引擎是Innodb,所以本篇文章重点讲述Innodb下的索引,顺带简单讲述其他引擎。希望小伙伴们能通过这片文章对MySQL的索引有更加清晰的认识,废话不多说,我们开始吧。 索引介绍 首先,我们先带着一些问题来看接下来的内容。 索引是个什么东西? 我们可以创建

Joe.Ye Joe.Ye 2023-04-01
0 0 0
MySQL 5.7 – 通过 BINLOG 恢复数据

MySQL 5.7 – 通过 BINLOG 恢复数据

日常开发,运维中,经常会出现误删数据的情况。误删数据的类型大致可分为以下几类: 使用 delete 误删行 使用 drop table 或 truncate table 误删表 使用 drop database 语句误删数据库 使用 rm 命令误删整个 MySQL 实例 不同的情况,都会有其优

Joe.Ye Joe.Ye 2023-04-01
0 0 0
关于 JOIN 耐心总结,学不会你打我系列

关于 JOIN 耐心总结,学不会你打我系列

现在随着各种数据库框架的盛行,在提高效率的同时也让我们忽略了很多底层的连接过程,这篇文章是对 SQL 连接过程梳理,并涉及到了现在常用的 SQL 标准。 其实标准就是在不同的时间,制定的一些写法或规范。 从 SQL 标准说起 在编写 SQL 语句前,需要先了解在不同版本的规范,因为随着版本的变化,在

Joe.Ye Joe.Ye 2023-04-01
0 0 0
数据库并发处理 – MySQL锁简介

数据库并发处理 – MySQL锁简介

为什么要有锁? 我们都是知道,数据库中锁的设计是解决多用户同时访问共享资源时的并发问题。在访问共享资源时,锁定义了用户访问的规则。根据加锁的范围,MySQL 中的锁可大致分成全局锁,表级锁和行锁三类。在本篇文章中,会依次介绍三种类型的锁。在阅读本篇文章后,应该掌握如下的内容: 为什么要在备份时使用

Joe.Ye Joe.Ye 2023-04-01
0 0 0
MySQL事务究竟有没有被隔离

MySQL事务究竟有没有被隔离

我们知道在 RR 级别下,对于一个事务来说,读到的值应该是相同的,但有没有想过为什么会这样,它是如何实现的?会不会有一些特殊的情况存在?本篇文章会详细的讲解 RR 级别下事务被隔离的原理。在阅读后应该了解如下的内容: 了解 MySQL 中的两种视图 了解 RR 级别下,如何实现的事务隔离 了解什么

Joe.Ye Joe.Ye 2023-04-01
0 0 0
MySQL事务初识

MySQL事务初识

MySQL 中的事务? 对 MySQL 来说,事务通常是一组包含对数据库操作的集合。在执行时,只有在该组内的事务都执行成功,这个事务才算执行成功,否则就算失败。MySQL 中,事务支持是在引擎层实现的,像 MySQL 原生的 MyISAM 引擎就不支持事务,这也是被 InooDB 取代的重要原因。

Joe.Ye Joe.Ye 2023-04-01
0 0 0
玩转Redis-生产环境如何导入、导出及删除大量数据

玩转Redis-生产环境如何导入、导出及删除大量数据

概述 本文将模拟生产环境,构造大量测试数据,并完成高效安全的数据导入、数据导出、数据删除。 众所周知,Redis是单线程的,一旦一个命令发生长时间阻塞,极易导致大量命令阻塞,从而导致生产环境雪崩,所以本文着重强调 【生产环境、安全高效】 操作。 Redis生产环境安全高效导入大量数据 使用shel

Joe.Ye Joe.Ye 2023-04-01
0 0 0
玩转Redis-删除了两百万key,为什么内存依旧未释放?

玩转Redis-删除了两百万key,为什么内存依旧未释放?

背景 公司某业务使用的Redis集群是自建的,前段时间计划将自建Redis集群迁移到购买的阿里云集群。 老集群共有 350W key,占用内存 8.8 G,DTS迁移前分析发现有近两百万的key无需迁移,于是提前删除了这两百万key。 删除key后发现redis内存竟然几乎无变化,350W key删

Joe.Ye Joe.Ye 2023-04-01
0 0 0
因为BitMap,白白搭进去8台服务器…

因为BitMap,白白搭进去8台服务器…

业务背景 最近,因为增加了一些风控措施,导致新人拼团订单接口的 QPS、TPS 下降了约 5%~10%,这还了得! 首先,快速解释一下【新人拼团】活动: 业务简介 :顾名思义,新人拼团是由新用户发起的拼团,如果拼团成功,系统会自动奖励新用户一张满 15.1 元减 15 的平台优惠券。这相当于是无门

Joe.Ye Joe.Ye 2023-04-01
0 0 0
MySQL视图详解

MySQL视图详解

什么是视图? 视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包含数据。作为一个select语句保存在数据字典中的。 视图是干什么用的? 通过视图,可以展现基表的部分数据 视图数据来自定义视图的查询中使用的表,使用视图动态生成 基表:用来创建视图的表叫做基表 为什么要使用视图? 因为

Joe.Ye Joe.Ye 2023-04-01
0 0 0
Redis 如何存储上亿级别的用户状态?

Redis 如何存储上亿级别的用户状态?

前段时间,在网上看到一道面试题:如何使用Redis存储统计1亿用户一年的登陆情况,并快速检索任意时间窗口内的活跃用户数量。 觉得很有意思,就仔细想了下。并做了一系列实验,自己模拟了下。还是有点收获的,现整理下来。和大家一起分享。 问题分析 Redis是一个内存数据库,采用单线程和事件驱动的机制来处

Joe.Ye Joe.Ye 2023-04-01
0 0 0
Redis 查看所有 key 的 value 值所占内存大小

Redis 查看所有 key 的 value 值所占内存大小

Redis 虽好,却是个吃内存兽,因此在写入 Redis 数据时,应该避免写入无用的数据,浪费内存 如果我们要分析哪些 key 占用了大量的存储空间,就需要有工具辅助对所有的 value 所点空间进行排序,如此才能有的放矢进行优化 redis-rdb-tools 可以将所有 key 对应的 valu

Joe.Ye Joe.Ye 2023-04-01
0 0 0
MySQL group_concat长度限制

MySQL group_concat长度限制

group_concat函数有长度限制 #查找当前数据库长度 show variables like 'group_concat_max_len' #设置当前session的group_concat长度,其他session连接不受影响 SET SESSION group_con

Joe.Ye Joe.Ye 2023-04-01
0 0 0
ElasticSearch 7 安装及学习记录

ElasticSearch 7 安装及学习记录

从docker启动 ElasticSearch: https://hub.docker.com/_/elasticsearch?tab=description Kibana: https://hub.docker.com/_/kibana?tab=description // 创建一个networ

Joe.Ye Joe.Ye 2023-04-01
0 0 0
1 2 3 4 11