• MySQL索引是怎么支撑千万级表的快速查找?

    前言在 MySQL 官方提到,改善操作性能的最佳方法 SELECT 在查询中测试的一个或多个列上创建索引。索引条目的作用类似于指向表行的指针,从而使查询可以快速确定哪些行与WHERE子句中的条件匹配,并检索这些行的其他列值。所有MySQL数据类型都可以建立索引。尽管可能会为查询中使用的每个可能的列创建索引,但不必要的索引会浪费空间和时间,使MySQL难以确定要使用的索引。索引还...

    MySQL 2021年07月28日 23 0
  • MySQL 深入学习总结

    1.数据库基础1.1 MySQL 架构和其它数据库相比,MySQL 有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用。主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其它的系统任务以及数据的存储提取相分离。这种架构可以根据业务的需求和实际需要选择合适的存储引擎,各层介绍:1.1.1 连接层最上层是一些客户端和连接服务,包含本地 sock 通信和大多数基于...

    MySQL 2021年07月27日 35 0
  • MySQL常用的4种主从复制架构

    目录一主多从复制架构多级复制架构双主(Dual Master)复制架构多源(Multi-Source)复制架构如何优化主从延迟问题?复制的4中常见架构有一主多从复制架构、多级复制架构、双主(Dual Master)复制架构和多源(Multi-Source)复制架构。一主多从复制架构在主库读取请求压力非常大的场景下,可以通过配置一主多从复制架构实现读写分离,把大量的对实时性要求不...

    MySQL 2021年07月26日 33 0
  • MongoDB 5.0 正式发布,新增时序集合功能

    MongoDB 5.0 正式发布,该版本部分更新内容如下:时间序列集合MongoDB 5.0 引入了时间序列集合,它有效地存储了一段时期内的测量序列。与普通集合相比,在时间序列集合中存储时间序列数据可以提高查询效率,并减少数据和索引的磁盘使用。聚合新的聚合操作符MongoDB 5.0 引入了以下聚合操作:$count: $count 在现有管道 $group 阶段和新的 Mon...

    MongoDB 2021年07月15日 111 0
  • 初探 Redis 客户端 Lettuce:真香

    一、Lettuce 是啥?一次技术讨论会上,大家说起 Redis 的 Java 客户端哪家强,我第一时间毫不犹豫地喊出 "Jedis, YES!"“Jedis 可是官方客户端,用起来直接省事,公司中间件都用它。除了 Jedis 外难道还有第二个能打的?”我直接扔出王炸。刚学 Spring 的小张听了不服:“SpringDataRedis 都用 RedisTemplate!Jed...

    Redis 2021年07月10日 64 0
  • MySQL不同版本多实例部署

    1 背景介绍我们在数据库运维的过程中.会遇到不同版本的数据库部署需求.同时测试环境数据库需求更是不同.有时为了节省资源.我们需要进行多实例的部署.或者在我们自己学习的过程中也需要进行多实例的部署..比如搭建各种MySQL的集群(mha,PXC,Xenon).这篇文章我将介绍多版本多实例的部署.2 部署介绍多版本多实例版本介绍:下载对应版本MySQL2.1 软件下载下载地址:ht...

    MySQL 2021年07月05日 73 0
  • DorisDB简介

    DorisDB简介本文通过对DorisDB进行概要描述,从产品简介、发展历程、架构介绍、产品特性、使用场景、产品版本、横向压测对比、用户&案例、后续发展几个层面进行简要说明,部分内容引用。因接触doris时间较短,文中错误,欢迎勘正。1. 产品简介 一直以来,一众大厂分布式数据库产品层出不穷,唯有BAT中的百度,一直没有什么大的动作。然而,我还是错了,先给百度道个歉。只...

    MySQL 2021年07月02日 223 0
  • It looks like you are trying to access MongoDB over HTTP on the native driver port.

    第一次安装MongoDB,就遇到一个小白的问题,记录一下。 It looks like you are trying to access MongoDB over HTTP on the native driver port. 解决办法: MongoDB的HTTP服务没有开启,需要开启。

    MongoDB 2021年06月30日 83 0
  • 动态表单存储设计

    前言Flowable, Activiti 等开源解决方案所提供的表单引擎是没有业务表单数据持久化的功能(即自动创建表,将表单数据持久化功能),只提供动态表单创建以及渲染功能。目前来看表单引擎服务主要功能如下:动态表单配置以及渲染(主要在于前端实现)表单数据库持久化以下是目前实现业务表单数据持久化的几种方案:以下方案都以请假流程的表单为例,比较简单就请假天数(days)以及请假理...

    MongoDB 2021年06月09日 105 0
  • centos7 安装 Mysql 5.7.27,详细完整教程

    1. 下载 MySQL yum包wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm2.安装MySQL源rpm -Uvh mysql57-community-release-el7-10.noarch.rpm3.安装MySQL服务端,需要等待一些时间yum install -y mysql-...

    MySQL 2021年04月21日 303 0
  • Navicat用久了试试这个炫酷的mysql连接工具,如丝滑般柔顺

    背景web开发者都知道,数据对我们来说是最重要的,所有的curd都是针对于数据库。连接MySQL我们通常都是用Navicat,但是每次用都需要破解,并且感觉经常卡顿,并且提示功能感觉不准确,有没有更好的工具,我们可以试下HeidiSQL。推荐理由1 完全开源免费,不存在收费版本(不开源不推荐)2 查询速度很快,不会卡顿,Navicat查询比较卡顿3 界面炫酷(关键字高亮,记录高...

    MySQL 2021年04月12日 300 0
  • 并发的时候分布式锁setnx细节

    如果出现网络延迟的情况下,多个请求阻塞,那么恶意攻击就可以全部请求领取接口成功,而针对这种做法,我们使用 setnx 来解决,确保只有一个请求可以进入接口请求。public String receiveGitf(int activityId,int giftId,String uid){ // isExist判断活动是否存在,内部包括redis和数据库请求,省略...

    MySQL 2021年03月19日 343 0
  • 数据库事务锁详解

    前言上篇说到数据库事务中的特性ACID和4个隔离级别,今儿就来看一下事务中的锁。MySQL中的锁锁是MySQL在服务器层和存储引擎层的并发控制,锁可以保证数据并发访问的一致性、有效性;锁冲突也是影响数据库并发访问性能的一个重要因素MySQL有三种级别的锁:「表级锁、行级锁、页级锁」表级锁行级锁业级锁特点开销小、加锁快开销大、加锁慢加锁时间介于其余两者之间是否会死锁否是是并发度粒...

    MySQL 2021年03月18日 391 0
  • 分库分表中间件的高可用实践

    分库分表中间件的高可用实践前言分库分表中间件在我们一年多的锤炼下,基本解决了可用性和高性能的问题(只能说基本,肯定还有隐藏的坑要填),问题自然而然的就聚焦于高可用。本文就阐述了我们在这方面做出的一些工作。哪些高可用的问题作为一个无状态的中间件,高可用问题并没有那么困难。但是尽量减少不可用期间的流量损失,还是需要一定的工作的。这些流量损失主要分布在:(1)某台中间件所在的物理机突...

    MySQL 2021年03月12日 383 0
  • CentOS7安装MySQL8.0图文教程

    登录主机,然后进行下载第一步:在mysql官网下载源文件第二步:Select Operating System: 选择 Red Hat ,CentOS 是基于红帽的,Select OS Version: 选择 linux 7第三步:选择 RPM Bundle 点击 Download第四步:点击 No thanks, just start my download. 进行下载第五步...

    MySQL 2021年03月12日 459 0
  • Redis基础篇

    一、从常用数据结构说起上文说到Redis提供了丰富的数据结构,包括STRING(字符串)、LIST(列表)、SET(集合)、HASH(散列)和ZSET(有序集合)基本数据类型。先来一波操作感受一下:基本的数据类型的大概使用就到这里,接下来就分析一下它的内部结构是怎么实现的。二、底层实现Redis是KV类型的数据库,Key-Value我们一般会用什么数据结构存储?哈希表!没错Re...

    Redis 2021年03月12日 341 0
  • Linux运维指南Nacos、Rabbit MQ、Redis

    Linux运维指南含Nacos、Rabbit MQ、Redis一、Rabbit MQ安装指南1.1安裝Erlang语言因为Rabbit MQ是基于Erlang语言开发的,运行环境必须依赖于Erlang,无论是Windows机器还是Linux机器,安装Rabbit MQ之前第一步要安装Erlang.1.1.1安装Erlang所需依赖进入Linux服务器,创建/u01目录:mkdi...

    Redis 2021年03月10日 505 0
  • explain查看执行计划

    在MySQL性能调优的时候explain是必须要使用的关键字,它的作用是可以查看sql语句的执行信息,包括表的读取顺序,应用到的索引等信息。用法:explain + sql语句。本篇我们先熟悉explain的内容,为下篇学习索引奠定基础。explain内容查看user全表查询的执行计划:mysql> explain select * from user; idid表示se...

    MySQL 2021年03月10日 368 0
  • Redis是如何持久化到硬盘的

    Redis为什么需要持久化我们在项目中或多或少会用到Redis,Redis主要用作缓存数据库。使用Redis可以大大提升我们程序是性能,使用Redis之所以快的原因之一是Redis的数据是存储在内存中,应用程序访问Redis只需要从内存中读取即可。从内存中读取数据确实能提高访问速度,但是当Redis挂了,内存中的数据就会丢失掉,为了防止数据丢失,我们需要将数据持久化到硬盘中。当...

    Redis 2021年03月09日 282 0
  • 线上MySQL读写分离,出现写完读不到问题如何解决?

    今天我们来详细了解一下主从同步延迟时读写分离发生写后读不到的问题,依次讲解问题出现的原因,解决策略以及 Sharding-jdbc、MyCat 和 MaxScale 等开源数据库中间件具体的实现方案。一、写后读不到问题MySQL 经典的一主两从三节点架构是大多数创业公司初期使用的主流数据存储方案之一,主节点处理写操作,两个从节点处理读操作,分摊了主库的压力。但是,有时候可能会遇...

    MySQL 2021年03月09日 261 0
  • SQLServer数据库实例相关知识笔记

    1、概念介绍SQL实例实际上就是SQL服务器引擎,每个SQL Server数据库引擎实例各有一套不为其他实例共享的系统及用户数据库。在一台计算机上,可以安装多个SQL SERVER,每个SQL SERVER就可以理解为是一个数据库实例。2、SQL实例分类SQL实例分为默认实例和命名实例。这个在SQLServer软件安装时候可以选择哪种命名方式,但一台计算机中只能有一个实例作为默...

    SQL SERVER 2021年03月08日 282 0
  • Redis如何实现分布式锁?

    前言如果在一个分布式系统中,我们从数据库中读取一个数据,然后修改保存,这种情况很容易遇到并发问题。因为读取和更新保存不是一个原子操作,在并发时就会导致数据的不正确。这种场景其实并不少见,比如电商秒杀活动,库存数量的更新就会遇到。如果是单机应用,直接使用本地锁就可以避免。如果是分布式应用,本地锁派不上用场,这时就需要引入分布式锁来解决。由此可见分布式锁的目的其实很简单,就是为了保...

    Redis 2021年03月08日 310 0
  • 「MySQL笔记」left join-on-and 与 left join-on-where 的区别

    1. 摘要关于这两种写法的重要知识点摘要如下:left-join 时,即使有相同的查询条件,二者的查询结果集也不同,原因是优先级导致的,on 的优先级比 where 高on-and 是进行韦恩运算连接生成临时表时使用的条件where 是全部连接完生成临时表后,再根据条件过滤on 优先级比 where 高,因此,理论上 on-and 写法执行效率比 on-where 高,速度更快...

    MySQL 2021年03月08日 287 0
  • Oracle与Mysql区别

    1. Oracle是大型数据库而Mysql是中小型数据库,Oracle市场占有率达40%,Mysql只有20%左右,同时Mysql是开源的而Oracle价格非常高。 2. Oracle支持大并发,大访问量,是OLTP最好的工具。 3. 安装所用的空间差别也是很大的,Mysql安装完后才152M而Oracle有3G左右,且使用的时候Oracle占用特别大的内存空间和其他机器性能。...

    MySQL 2021年03月08日 274 0
  • 为什么delete表数据,磁盘空间却还是被占用

    最近有个上位机获取下位机上报数据的项目,由于上报频率比较频繁且数据量大,导致数据增长过快,磁盘占用多。为了节约成本,定期进行数据备份,并通过delete删除表记录。明明已经执行了delete,可表文件的大小却没减小,令人费解项目中使用Mysql作为数据库,对于表来说,一般为表结构和表数据。表结构占用空间都是比较小的,一般都是表数据占用的空间。当我们使用 delete删除数据时,...

    MySQL 2021年03月06日 354 0
  • MySQL:按照ID分组日期时间求和,过滤重叠时间

    原始数据SELECT d.waybill_no, @group_row:=CASE WHEN @parent_code=picked_by THEN @group_row+1 ELSE 1 END AS id, @parent_code1:=picked_by AS picked_by1, MIN(spd.picked_date) start_time, MAX(spd.pic...

    MySQL 2021年03月05日 289 0
  • 海量数据写入——万级并发的订单系统如何分库?

    一定要分表分库吗?当然不一定。虽然很多互联网公司的体量很大、用户非常多,但你千万不要被这些现象迷惑了。实际上,90% 以上的系统能够发展到上百万、上千万数据量已经很不错了。对于千万的数据量,开源的 MySQL 都可以很好地应对,更别说一些商业数据库了。另外,当数据增长到一定量级后,可以在业务层面做一些处理。比如根据业务特点,对无效数据、软删除数据,以及业务上不会再查询的数据进行...

    MySQL 2021年03月04日 314 0
  • mysql-DCL语句与帮助的使用

    DCL语句DCL语句主要是DBA用来管理系统中的对象权限时使用,一般的开发人员很少使用。下面通过一个例子简单说明一下。创建一个数据库用户z1,具有对sakila数据库中所有表的SELECT/INSERT 权限,并且密码为123。grant select,insert on sakila.* to ‘z1’@’localhost‘indentified by ‘123’;收回z1...

    MySQL 2021年03月03日 250 0
  • 如何破解缓存穿透和并发?

    缓存是我们现在经常使用的技术之一,对于缓存的使用,看似非常简单,其实却蕴含着很多技巧在里面,这些技巧可以帮助我们最大化地发挥缓存的功效,减少因为缓存的使用导致的线上生产事故,那么这些技巧都有哪些,如何使用呢?下面试着从缓存穿透,缓存并发来开展破解之道。缓存穿透流程和危害  在通常情况下,我们在前台是如何使用缓存的呢?我们来看下面这个流程:  当系统接收到一个请求时,请求先从缓存...

    Redis 2021年02月28日 285 0
  • MySQL 8.0.19亿级数据如何秒速增加字段?

    概述今天主要介绍一下MySQL 8.0.19 instant add column的新特性,基于亿级数据秒速增加字段,下面一起来看看吧~一、MySQL DDL 的方法MySQL 在大型表上的 DDL 会带来耗时较久、负载较高、额外空间占用、MDL、主从同步延时等情况。需要特别引起重视,而MySQL 的 DDL 有很多种方法。MySQL 本身自带三种方法,分别是:copy、inp...

    MySQL 2021年02月27日 506 0