• mysql索引优化实战一

    CREATE TABLE `eb_special_subject` ( `id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL DEFAULT '' COMMENT '名称', `pic` varchar(255) NOT NULL DEFAULT '' COMMENT '图标', `sort...

    MySQL 2021年01月28日 1278 0
  • MySql安装全攻略,如果想好好学习,一篇就够了

    下载MySql安装文件MySql官网下载浏览器输入官网下载地址:https://www.mysql.com/downloads/,进入管网下载页面这里主要有三个版本可以选择:MySQL Enterprise EditionMySQL企业版包括最全面的一套先进的功能,管理工具和MySQL的技术支持MySQL Cluster CGEMySQL集群是一个实时的开源事务数据库,设计用于...

    MySQL 2021年01月28日 1413 0
  • MySQL中的分区表(下)

    分区表的管理range和list分区添加分区删除分区修改分区合并或拆分分区hash和key分区添加分区删除分区修改分区合并或拆分分区分区的维护重建分区优化分区分析分区检查分区修复分区分区表的注意事项总结关于分区表的的分类和示例,请参考上篇文章。分区表的管理range和list分区对于range和list两种类型的分区表的管理,接下来的各种演示示例:添加分区、删除分区、修改分区、...

    MySQL 2021年01月28日 1225 0
  • MySQL中的分区表(上)

    什么是分区表为什么要用分区表如何查看分区信息分区的类型range范围分区list列表分区columns多列分区range columns范围多列分区list columns列表多列分区hash哈希分区linear hash线性哈希分区key按键分区linear key线性按键分区复合分区range-hash复合分区range-key复合分区list-hash复合分区list-k...

    MySQL 2021年01月28日 1095 0
  • 哦哟!才知道,原来大厂的Redis分布式锁都这么设计

    本地锁常用的即 synchronize 或 Lock 等 JDK 自带的锁,只能锁住当前进程,仅适用于单体架构服务。 而在分布式多服务实例场景下必须使用分布式锁2 分布式锁2.1 分布式锁的原理厕所占坑理论可同时去一个地方“占坑”:占到,就执行逻辑否则等待,直到释放锁可通过自旋方式自旋“占坑”可以去Redis、DB、任何所有服务都能访问的地方。2.2 分布式锁演进一阶段// 占...

    Redis 2021年01月27日 1290 0
  • Redis 之 字符串

    字符串是Redis最基础的数据结构。关键字都是字符串类型。字符串的值可以是字符串(简单的字符串、复杂的字符串(JSON,XML)、数字、甚至是二进制(图片、音频、视频),但是最大值不能超过 512M。常用命令set key value [ex seconds] [px milliseconds] [nx|xx]ex seconds :为键设置秒级过期时间px milliseco...

    Redis 2021年01月27日 1225 0
  • MySQL 8.0 中的索引可以隐藏了…

    MySQL 8.0 虽然发布很久了,但可能大家都停留在 5.7.x,甚至更老,其实 MySQL 8.0 新增了许多重磅新特性,比如栈长今天要介绍的 “隐藏索引“ 或者 “不可见索引“。隐藏索引是什么鬼?隐藏索引 字面意思就是把索引进行隐藏,即不可见,它不是用来查询优化的,所以它不会被优化器使用到。隐藏索引适用于除主键索引(显示或者隐式设置)之外的索引,意味着主键索引是不能通过任...

    MySQL 2021年01月26日 1173 0
  • 项目重启数据库连接数突增!连接数据库超时!请收下这个方子

    结论:数据库连接数突增是数据库连接资源没有及时释放。连接数据库超时是因为数据库连接资源释放得过早。现象1:每次上线项目DB的连接数会突增。原因:是项目关闭的时候没有释放连接资源导致。DB的connection资源没有正常释放,导致项目启动的时候再次创建数据库连接资源,就出现了连接数突增的现象。一段时间后mysql根据wait_time的配置,自动回收conncetion,所以连...

    MySQL 2021年01月26日 1923 0
  • redis5.0.8自动安装部署脚本

    1、本脚本支持离线与在线安装(指依赖包使用离线rpm或是在线使用yum安装,redis本身采用源码安装)2、相关软件下载地址redis5.0.8下载地址:http://download.redis.io/releases/redis-5.0.8.tar.gz脚本以及rpm包下载地址:https://github.com/domdanrtsey/redis_auto_instal...

    Redis 2021年01月26日 1345 0
  • 数据量大读写缓慢如何优化(3)「Elasticsearch」

    如何使用Elasticsearch设计表结构?我们知道Elasticsearch(以下简称“ES”)是基于索引的设计,它没办法像MySQL那样使用join查询,所以,查询数据时我们需要把每条主数据及关联子表的数据全部整合在一条记录中。比如MySQL中有一个订单数据,使用ES查询时,我们会把每条主数据及关联子表数据全部整合在下表中:从上表中,我们发现:使用ES存储数据时并不会设计...

    MySQL 2021年01月25日 1078 0
  • 基于canal实现mysql的数据同步

    canal是什么?canal [kə'næl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费基于日志增量订阅和消费的业务包括数据库镜像数据库实时备份索引构建和实时维护(拆分异构索引、倒排索引等)业务 cache 刷新带业务逻辑的增量数据处理当前的 canal 支持源端 MySQL 版本包括 5.1.x , 5.5.x , 5.6...

    MySQL 2021年01月25日 1197 0
  • 谈谈高可用之降级

    一、降级是高可用的一大利器降级有如下分类:1.自动降级和人工降级2.读降级和写降级3.多级降级二、自动降级1.超时降级当调用数据库/HTTP服务/远程调用响应慢,且调用的服务是非核心服务,可以设置超时时间,超时后自动降级。比如,商品详情页的猜你喜欢,评价等内容,在大促时如果该服务出现问题或者响应慢的话,可以降级,它并不影响用户的购物主流程。2.统计调用失败次数降级有时系统会依赖...

    Redis 2021年01月25日 1595 0
  • 最基础的分类统计SQL语句

    原始数据如下:想要得到的结果:sql语句:select dw,count(distinct zy) as zycount from table group by dw

    MySQL 2021年01月23日 1143 0
  • 使用源码编译安装MySQL

    前言环境准备源码编译安装下载MySQL源码解压源码文件开始编译操作安装MySQL数据库生成二进制安装包初始化MySQL创建系统用户执行数据库的初始化启动MySQL服务登录MySQL数据库总结前言前面的文章中,我们介绍了MySQL使用二进制文件安装的大致过程。今天我们来看下另外一种安装方式,那就是使用MySQL的源码自己编译安装MySQL。环境准备我们使用docker运行一个最新...

    MySQL 2021年01月22日 2162 0
  • 深入剖析 RSA 密钥原理及实践

    一、前言在经历了人生的很多至暗时刻后,你读到了这篇文章,你会后悔甚至愤怒:为什么你没有早点写出这篇文章?!你的至暗时刻包括:1.你所在的项目需要对接银行,对方需要你提供一个加密证书。你手上只有一个六级英语证书,不确定这个是否满足对方需求。由于你迟迟无法提供正确的证书,项目因此延期,加薪计划泡汤,月供断了,女朋友分手了,你感觉人生完了。2. 你老骥伏枥 2 个月,终于搞懂了.cr...

    MySQL 2021年01月20日 1017 0
  • 不是吧?为了加快速度,Redis竟做了这么“疯狂”的设计

    前言列表对象是 Redis 中 5 种基础数据类型之一,在 Redis 3.2 版本之前,列表对象底层存储结构有两种:linkedlist(双端列表)和 ziplist(压缩列表),而在 Redis 3.2 版本之后,列表对象底层存储结构只有一种:quicklist(快速列表),难道通过精心设计的 ziplist 最终被 Redis 抛弃了吗?列表对象同字符串对象一样,列表对象...

    Redis 2021年01月18日 1249 0
  • redis存json数据时选择string还是hash

    我们在缓存json数据到redis时经常会面临是选择string类型还是选择hash类型去存储。接下来我从占用空间和IO两方面来分析这两种类型的优势。1、占用空间根据数据结构的共识我们知道hashtable类型是要比string类型更占用空间, 而ziplist类型与string类型占用的空间基本相差不大。如下图就是ziplist的存储的格式那我们接下来分别分析redis的st...

    Redis 2021年01月17日 1378 0
  • SQL SERVER新建用户并授权及解决远程连接问题

    直接用sa用户连接不安全,一般需要新建一个用户。一、新建一个用户并授权:--创建登陆帐户(create login)create login username with password='123456', default_database=master--为登陆账户创建数据库用户(create user),一般用户名跟登陆账户名一样create user username f...

    SQL SERVER 2021年01月16日 3833 0
  • Redis高可用架构演进

    Redis系列第1篇Redis是目前使用最广泛的缓存程序之一,也被应用于多种场景,例如数据缓存、分布式锁等,Redis官方提供了多种部署架构,以满足不同应用场景下对于高可用和扩展性的要求。01单节点(single)单节点的部署是最简单的,只要启动一个redis进程就可以了,但是不具备高可用性,一般生产环境不建议使用,其主要有以下问题:单节点,一旦出问题,服务将会不可用【1】单节...

    Redis 2021年01月15日 1540 0
  • 数据库安全:数据库加密技术介绍

    数据库加密是计算机系统对信息进行保护的一种最可靠的方法。它利用密码技术对信息进行加密,实现信息屏蔽,从而起到保护信息安全的作用。对数据库中的数据进行加密,可以防止数据在存储和传输过程中失密。常用的数据加密技术按照作用不同分为数据加密技术、数据存储加密技术、数据完整性鉴别技术、密钥管理技术。1、数据传输加密技术 数据传输加密技术的目的是对传输中的数据流加密,通常由线路加密与端到端...

    数据库技术 2021年01月15日 1380 0
  • Redis集群的5种使用方式,及各自优缺点对比分析

    本文主要针对 Redis 常见的几种使用方式及其优缺点展开分析。一、常见使用方式Redis 的几种常见使用方式包括:Redis 单副本Redis 多副本(主从)Redis Sentinel(哨兵)Redis ClusterRedis 自研二、各种使用方式的优缺点1、Redis 单副本Redis 单副本,采用单个 Redis 节点部署架构,没有备用节点实时同步数据,不提供数据持久...

    Redis 2021年01月14日 1870 0
  • mysql中的各种日志文件

    mysql在CentOS 7安装好之后,配置文件一般在/etc/my.cnf中。数据目录一般在/var/lib/masql下,其中包含一些日志文件。1)通用日志通用查询日志会记录用户的所有操作,其中还包含增删查改等信息。在并发操作大的环境下会产生大量的信息从而导致不必要的磁盘IO,会影响mysql的性能的。所以,默认情况下是关闭的。可以用 general_log={ON|OFF...

    MySQL 2021年01月14日 1126 0
  • 数据库同步软件DBSync的设计与实现

    DBSync工作原理示意图DBSync是一款数据库同步软件,支持各种数据库之间的同步,支持增量同步。本文分享该软件的产品渊源、设计思想、技术要点、功能特征、使用方法,最后分析其优缺点,供IT技术人员参考,也欢迎大家提供宝贵意见,促进我们持续进步。阅读本文,用时大约15分钟。1、产品渊源早在2003年,我们在企业信息化的过程中,就经常遇到系统对接问题。很多客户的一些老旧软件,不方...

    MySQL 2021年01月13日 2071 0
  • 要精通SQL优化?首先要看懂explain关键字

    前言在MySQL中,我们知道加索引能提高查询效率,这基本上算是常识了。但是有时候,我们加了索引还是觉得SQL查询效率低下,我想看看有没有使用到索引,扫描了多少行,表的加载顺序等等,怎么查看呢?其实MySQL自带的SQL分析神器Explain执行计划就能完成以上的事情!Explain有哪些信息先确认一下试验的MySQL版本,这里使用的是5.7.31版本。只需要在SQL语句前加上e...

    MySQL 2021年01月12日 1434 0
  • MySQL的日志 - undo log

    前言什么是undo logundo log的作用undo log的存储空间和系统表空间存放在一起独立的undolog表空间undo log的相关参数独立undolog表空间的意义最后前言前面我们介绍了MySQL中的慢查询slow query log,二进制日志binlog,中继日志relay log,重做日志redolog,今天我们来看一下另外一个重要的日志:undo log。...

    MySQL 2021年01月11日 1447 0
  • 数据库实用脚本:计算地球上两个坐标点之间的里程

    今天给大家分享计算地球上两个坐标点之间里程不同数据库版本的脚本。1、SQLServer脚本–-计算地球上两个坐标点(经度,纬度)之间距离sql函数 CREATE FUNCTION [dbo].[fnGetDistance](@LatBegin REAL, @LngBegin REAL, @LatEn...

    MySQL 2021年01月11日 1204 0
  • 小心避坑:MySQL分页时使用 limit+order by 会出现数据重复问题

    0 问题描述在MySQL中我们通常会采用limit来进行翻页查询,比如limit(0,10)表示列出第一页的10条数据,limit(10,10)表示列出第二页。但是,当limit遇到order by的时候,可能会出现翻到第二页的时候,竟然又出现了第一页的记录。具体如下:SELECT   `post_title`,   `post_date...

    MySQL 2021年01月11日 1011 0
  • 分享一则生产数据库sql优化案例—从98s优化到1.4s

    概述今天主要分享一则生产环境的sql优化案例,仅供参考。问题sql该sql定位还是比较容易的,直接查慢查询语句就直接定位出来了。在测试环境执行需耗时98s,查出数据7108条。SELECT * FROM ( SELECT t.group_code, ter.terminate_begin_date AS terminateBeginDate, ... FR...

    MySQL 2021年01月11日 1382 0
  • 数据库:分享四个实用的SQLServer脚本函数,欢迎收藏

    今天给大家分享四个在实际开发中,比较实用的SQLServer脚本函数,希望对大家能有所帮助!1、字符串指定字符分割为list-- 字符串指定字符分割为list CREATE FUNCTION [dbo].[splitl] ( @String VARCHAR(MAX), @Delimiter VARCHAR(MAX) ) RETURNS @temptable TA...

    SQL SERVER 2021年01月08日 1633 0
  • CENTOS MYSQL复制下slave严重延迟的分析和处理

    昨晚在生产环境刷数据,执行了一个全局表的update table_test set XK = 'PT' where (XK = '' or XK is null);当时语句没啥问题,测试了下,执行单库的时间在6s左右,没太在意,结果今天发现所有的从库严重延迟,全都卡在这条事务的binlog回放上了。分析原因: 尽管我们使用的是基于组的多线程复制,线程配置为4个,但是他对无序i...

    MySQL 2021年01月06日 1094 0