• Mysql索引扫盲总结

    什么是索引?索引为什么查询快,索引的数据结构是什么?聚簇索引/非聚簇索引区别?什么是覆盖索引?唯一索引/普通索引?单列索引/联合索引区别?Full-index全文索引?什么是下推索引?什么是最左匹配,查询回表?哪些字段适合建索引?为什么一般主键索引最好是自增长的, 尽量短的数值类型?为什么有些SQL不走索引?索引的最佳实践?索引为什么快索引的本质是空间换时间。+bonus: 加...

    MySQL 2020年03月25日 1209 0
  • 日期时间,在SQL中到底是字符串还是数字?

    经常写SQL脚本的朋友,对数据库中的日期时间类型肯定不会陌生,这是一种非常有意思的数据类型,她既像是字符串类型、又像是数字类型。我们可以像字符串那样组合日期、又可以像数字那样进行各种加减运算。日期时间太常用了,我们一定好认真的掌握她。MySQL、PostgreSQL、SQL Server等各种数据库系统都提供了丰富的日期时间类型和大量的日期时间处理函数。其实日期时间类型的本质,...

    MySQL 2020年03月25日 2250 0
  • oracle与mysql数据转换及数据类型对应关系

    MySQL与Oracle两种数据库在工作中,都是用的比较多的数据库,由于MySQL与Oracle在数据类型上有部分差异,在我们迁移数据库时,会遇上一定的麻烦,下面介绍MySQL与Oracle数据库数据类型的对应关系。一、常见数据类型在MySQL与Oracle数据库中的表现形式 说明 mysql ...

    MySQL 2020年03月24日 2221 0
  • 适合中小型公司的Mysql数据库使用规范

    这个是公司技术基础建设的一部分,在以后我会逐步推出更多的技术相关文章,感觉有用的请关注。这个文章是为了规范公司的数据库使用的,如果公司有原来使用的规范可以做下对比。这个规范适合中小型公司,数据量不是特别大的。设计的单表容量在千万级。数据库使用 MYSQL ,版本 5.7+数据库使用主要属性类型,数字用 int ,字符用 char ,比较多的字符用 text 或者 verchar...

    MySQL 2020年03月19日 1918 0
  • 这句简单的sql,如何加索引?颠覆了我多年的认知

    不啰嗦,直接入正题。问题是这样的。请问下面的sql语句,要想加快查询速度,该怎么创建索引?以下,以mysql数据库为准。select * from test where a=? and b>? order by c limit 0,100结果可能会出乎你的意料。我们首先准备一下运行环境,然后按照最左前缀原则和explain关键字来进行验证。结果真是颠覆了xjjdog多年的...

    MySQL 2020年03月17日 1372 0
  • SQL Server 数据库高级查询语句

    首先要介绍的就是分组查询。比如我们有一个销售订单,这个订单里包含了地域,人员等多个不同的字段信息,我们需要按照地域进行分组查询每个地域的总销售额。或者要按照人员查询每个人的销售总额等信息,那么就需要用到这个分组查询的功能。分组查询 GROUP BY使用 GROUP BY 根据一个或者多个列对结果进行分类汇总,通常和统计函数一起使用,常用的统计类函数有:COUNT(统计组中项数)...

    SQL SERVER 2020年03月17日 2365 0
  • 听说Redis都会遇到并发、雪崩等难题?我用10分钟就解决了

    一、Redis雪崩、穿透、并发等5大难题解决方案缓存雪崩数据未加载到缓存中,或者缓存同一时间大面积的失效,从而导致所有请求都去查数据库,导致数据库CPU和内存负载过高,甚至宕机。比如一个雪崩的简单过程:1、redis集群大面积故障2、缓存失效,但依然大量请求访问缓存服务redis3、redis大量失效后,大量请求转向到mysql数据库4、mysql的调用量暴增,很快就扛不住了,...

    Redis 2020年03月17日 2226 0
  • 1.3万亿条数据查询如何做到毫秒级响应?

    知乎,在古文中意为“你知道吗?”,它是中国的Quora:一个问答网站,其中各种问题由用户社区创建,回答,编辑和组织。作为中国最大的知识共享平台,知乎平台目前拥有2.2亿注册用户,3000万个问题,网站答案超过1.3亿。随着用户群的增长,应用程序的数据大小无法评估,在一个名为Moneta的应用程序中存储了大约1.3万亿行数据(存储着用户已经阅读过的帖子)。由于每月累计产生大约10...

    MySQL 2020年03月14日 1293 0
  • 高并发环境下如何让Redis和Mysql保持数据统一

    业务场景在高并发的业务场景下,数据库大多数情况都是用户并发访问最薄弱的环节。所以,就需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问MySQL等数据库。这个业务场景,主要是解决读数据从Redis缓存,一般都是按照下图的流程来进行业务操作。读取缓存步骤一般没有什么问题,但是一旦涉及到数据更新:数据库和缓存更新,就容易出现缓存(Redis)和数据库(MyS...

    MySQL 2020年03月14日 1428 0
  • 超高性能 key-value 数据库 Redis 5.0.8 稳定版发布

    前言Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。官方测评SET操作每秒钟 110000 次,GET操作每秒钟 81000 次,服务器配置如下:Linux 2.6, Xe...

    Redis 2020年03月14日 1688 0
  • 一次SQL查询优化原理分析,900W+数据,从17s到300ms

    有一张财务流水表,未分库分表,目前的数据量为9555695,分页查询使用到了limit,优化之前的查询耗时16 s 938 ms (execution: 16 s 831 ms, fetching: 107 ms),按照下文的方式调整SQL后,耗时347 ms (execution: 163 ms, fetching: 184 ms); 操作:查询条件放到子查询中,子查询只查主...

    MySQL 2020年03月12日 2096 0
  • 阿里架构师教你处理高并发:2种方法,解决Redis和Mysql一致性

    需求起因在高并发的业务场景下,数据库大多数情况都是用户并发访问最薄弱的环节。所以,就需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问MySQL等数据库。这个业务场景,主要是解决读数据从Redis缓存,一般都是按照下图的流程来进行业务操作。读取缓存步骤一般没有什么问题,但是一旦涉及到数据更新:数据库和缓存更新,就容易出现缓存(Redis)和数据库(MyS...

    MySQL 2020年03月03日 2239 0
  • 为什么 Redisson 会有这么好用?

    Redis 是最流行的 NoSQL 数据库解决方案之一,而 Java 是世界上最流行(注意,我没有说“最好”)的编程语言之一。虽然两者看起来很自然地在一起“工作”,但是要知道,Redis 其实并没有对 Java 提供原生支持。相反,作为 Java 开发人员,我们若想在程序中集成 Redis,必须使用 Redis 的第三方库。而 Redisson 就是用于在 Java 程序中操作...

    Redis 2020年03月03日 3092 0
  • 原来redis这么简单,跟着文章操作一遍你就会了

    原来redis这么简单,跟着文章操作一遍你就会了!一、Redis简介Redis是一个开源的使用ANSI C语言编写的Key-Value数据库,是一种应用非常广泛的NoSQL数据库,性能极高,拥有出色的读写速度,适用性非常的广。因此也被广泛应用在中大型的项目中,可以在某些特定应用场景下替代传统数据库,可以巧妙地实现一些特定的功能:session共享、购物车等待。近期有部分同学说公...

    Redis 2020年02月24日 1599 0
  • MongoDB 4.2:让开发、运维、安全再上新台阶

    MongoDB 4.2是MongoDB当下最新的版本,这是MongoDB公司在去年的全球用户大会正式推出的。按照软件行业通行的惯例,大版本号才意味着软件有重大升级,才是重大发布。不过,MongoDB 4.2被不少人认为是一次重大发布,因为此版本带来了许多非常重要的特性,比如分布式事务、客户端字段级别加密、按需物化视图以及通配符索引等,这些特性使得MongoDB能广泛地应用到各...

    MongoDB 2020年02月22日 1909 0
  • MySql,Mssql,Oracle三种数据库性能优缺点

    1.什么是数据库? 简单的说,数据库(英文Database)就是一个存放数据的仓库,这个仓库是按照一定的数据结果(数据结构是指数据的组织形式或数据之间的联系)来组织、存储的、我们可以通过数据库提供的多种方法来管理数据库里的数据更简单的形象理解,数据库和我们生活中存放杂物的仓库性质一样,区别只是存放的东西不同。2.MySql,Mssql,Oracle三种数据库性能优缺点:①MyS...

    MySQL 2020年01月11日 2756 0
  • Oracle修改数据库密码过期方式为永久有效

    Oracle数据库好久没用了,距离上次安装大概半年了,今天偶然登录一下,竟然提示密码还有7天过期了! 这只是一个本地数据库,不经常用,密码都快忘记了,如果过期了就会很麻烦,不如干脆设置成永久有效,不限制有效期,这样更方便管理。 登录当前用户,比如我的登录system,可以先用下面这个Oracle语句看一下数据库的默认有效期:SELECT * FROM dba_profiles...

    Oracle 2020年01月07日 2363 0
  • MySQL8.0.18加强EXPLAIN,定位sql性能更直观

    在mysql8.0.18版本之前,查看一个sql语句的执行计划,基本职能看到,sql是否走索引,使用哪个索引,是否是全部扫描,是否用到文件排序等等,如下所示mysql> explain select a.name,a.depno,b.name from t_test1 a inner join t_test2 b on a.depno=b.depno;+----+----...

    MySQL 2020年01月07日 1474 0
  • 深入理解MySql的索引

    为什么索引能提高查询速度先从 MySQL 的基本存储结构说起MySQL的基本存储结构是页 (记录都存在页里边) :各个数据页可以组成一个双向链表每个数据页中的记录又可以组成一个单向链表- 每个数据页都会为存储在它里边儿的记录生成一个页目录,在通过主键查找某条记录的时候可以在页目录中使用二分法快速定位到对应的槽,然后再遍历该槽对应分组中的记录即可快速找到指定的记录所以说,如果我们...

    MySQL 2020年01月06日 1351 0
  • Oracle 实例、表空间、用户、表之间关系

    一些刚刚接触Oracle数据库的技术小白,对实例、表空间、用户、表他们之间关系简直就是莫名其妙,傻傻分不清楚,我也是这么过来的,下边给大家分享一下我以前整理的文档。 1、数据库数据库是数据集合。Oracle是一种数据库管理系统,是一种关系型的数据库管理系统。 通常情况称的“数据库”,并不仅指物理的数据集合,他包含物理数据、数据库管理系统。也即物理数据、内存、操作系统进程的组合体...

    Oracle 2020年01月06日 1992 0
  • Mysql8重大性能提升,支持hash Join

    MySQL8.18版本开始,优化引擎已经开始支持hash join,这个功能添加,可以说是mysql粉丝的重大利好消息。在没有hash join之前,只能使用nested loop,这种模式非常消耗cpu资源,而且当sql语句缺乏索引时,性能简直不能忍受,而hash join就能解决nested loop的痛点。下面来看看nested loop和hash join的应用场景和对...

    MySQL 2020年01月05日 1644 0
  • MySQL数据库

    MySQL官方地址: http://www.mysql.com/ MySQL官方下载地址: http://www.mysql.com/downloads/ MySQL 简介点击查看MySQL官方网站MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,后来被Sun公司收购,Sun公司后来又被Oracle公司收购,目前属于Oracle旗下产品。特点使用C和...

    MySQL 2020年01月02日 1508 0
  • Redis几乎所有命令都在这了,还说你不会?

    密码登录:1. redis-cli -h 127.0.0.1 -p 6379 -a flyvar字符串类型:1. set name ericzhao // set key value [EX seconds] [PX milliseconds] [NX|XX]2. redis 127.0.0.1:6379> SET KEY VALUE [EX seconds] [PX ...

    Redis 2020年01月02日 1445 0
  • 10分钟了解Oracle体系结构

    对于一门技术的学习,尤其是像Oracle database这种知识体系极其庞杂的技术来讲,从宏观上了解其体系结构是至关重要的。同时,个人认为,未必是专业DBA人员才需要了解其体系结构(固然对于数据库专业人员来讲,这些都是必备知识了),一般的技术人员如果对其有较深入的了解,也是大有益处的,毕竟技术思想很多时候都是相通的嘛。本文就从不同维度,如Oracle的内存结构,进程结构,存储...

    Oracle 2019年12月31日 1863 0
  • oracle数据库:数据的导入导出及备份

    相信大家在客户现场维护的时候一定会适时地做一些备份操作,对关键业务建立完备的备份机制,本篇文章就是给大家一个linux环境下的参考。一、 用imp/exp实现数据的导入导出(一)环境配置1.执行环境:exp/imp可以在客户端执行也可以在服务器端执行,在客户端执行需要先安装有oracle的客户端,如果是linux系统,就是以oracle用户登录,在控制台下执行。2.如果没有配置...

    Oracle 2019年12月30日 2779 0
  • 深入理解SQL原理:一条SQL查询语句是如何执行的?

    本篇文章将通过一条 SQL 的执行过程来介绍 MySQL 的基础架构。首先有一个 user_info 表,表里有一个 id 字段,执行下面这条查询语句:select * from user_info where id = 1;返回结果为:+----+----------+----------+--------+------+---------------------+-----...

    MySQL 2019年12月29日 1449 0
  • 常用的SQL语句优化技巧

    说到系统性能优化涉及的内容就比较多了,从业务需求到系统架构设计再到实现过程中的中间件、存储层等等的设计,这些都是需要充分规划的。涉及存储层,从数据库选型,数据库设计,索引规划、查询方式,任一环节都可能引入性能风险。本文主要从数据库SQL查询优化的角度优化查询性能,数据库选型是MySQL。SQL查询优化应尽量避免在 WHERE 子句中使用 != 或 <> 操作符,否则...

    MySQL 2019年12月29日 1434 0
  • 你有一份经典SQL语句大全,请注意查收

    一、基础部分1、创建数据库CREATE DATABASE dbname2、删除数据库DROP DATABASE dbname3、创建新表CREATE TABLE tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)根据已有的表创建新表: 使用旧表创建新表create table tab_new...

    MySQL 2019年12月28日 1329 0
  • 权限系统设计

    前言权限管理是所有后台系统的都会涉及的一个重要组成部分,主要目的是对不同的人访问资源进行权限的控制,避免因权限控制缺失或操作不当引发的风险问题,如操作错误,隐私数据泄露等问题。目前在公司负责权限这块,所以对权限这块的设计比较熟悉,公司采用微服务架构,权限系统自然就独立出来了,其他业务系统包括商品中心,订单中心,用户中心,仓库系统,小程序,多个APP等十几个系统和终端1.权限模型...

    Oracle 2019年12月26日 2125 0
  • SQLite 3.30.0 发布,世界上使用量最大的数据库引擎

    SQLite 3.30.0 发布了,SQLite 是一个 C 实现的 SQL 数据库引擎,它的特点是小型、快速、自包含、高可靠性和功能齐全。SQLite 嵌入在所有手机和大多数计算机中,也捆绑在为数众多的其它应用中,是世界上使用量最大的数据库引擎。此版本更新内容包括:添加对聚合函数的 FILTER 子句的支持添加对 ORDER BY 子句中的 NULLS FIRST 和 NUL...

    SQLite 2019年12月25日 2721 0