数据库

Redis核心原理详细解说

1、Redis为什么这么快 C语言编写 网络IO是nio 单线程避免了多线程上下文切换造成的性能损耗 在内存中运算速度快 2、Redis网络模型 IO多路复用(reactor) redis利用epoll实现IO多路复用,将连接信息和事件放到队列中,依次放到...

Redis集群详解

Redis集群详解 Redis有三种集群模式,分别是: * 主从模式 * Sentinel模式 * Cluster模式 三种集群模式各有特点,关于Redis介绍可以参考这里:NoSQL(二)——Redis Redis官网:https://redis.io/...

MySQL 时间类型用 datetime, timestamp 还是 integer 更好

问题 今天我们来探讨一个有意思的问题,先说场景: 这是一个做在线文档产品的业务,需要给用户展示文档的编辑记录,现在我们叫它【智能文档】。 智能文档会不定期给文档数据打一个快照,保存起来。用户可以在历史记录中查阅快照。 快照之间会展示具体的变更记录,比如&l...

关于mysql 8.x 中insert ignore的性能问题

mysql 8.x中insert ignore性能问题 mysql中replace into效率很差,多进程并发一下就会锁表,所以应该用on duplicate 来做更新,这是众所周知的了。没想到insert ignore也有性能坑,记录下遇到的问题。 为...

SQL中 decode()函数简介

DECODE函数,是ORACLE公司的SQL软件ORACLE PL/SQL所提供的特有函数计算方式,以其简洁的运算方式,可控的数据模型和灵活的格式转换而闻名。 今天看别人的SQL时看这里面还有decode()函数,以前从来没接触到,上网查了一下,还挺好用的...

使用LEFT JOIN 统计左右存在的数据问题

最近做了一个数据模块的统计,统计企业收款、发票相关的数据,开始统计是比较简单,后面再拆分账套统计就有点小复杂,本文做一个简单的记录。 需求 企业表 企业表t_company有如下字段:标识id、企业名称name: id name 1 腾讯 2 百度 收款表...

MySQL EXPLAIN执行计划解析

前言 调用EXPLAIN可以获取关于查询执行计划的信息,以及如何解释输出。EXPLAIN命令是查看查询优化器如何决定执行查询的主要方法,但该动能也有局限性,它的选择并不总是最优的,展示的也并不一定是真相。 1 调用EXPLAIN 要使用EXPLAIN,只需...

Mysql 8.0解压版下载安装以及配置的实例教程

前言 首先声明,这里是Mysql 8.0.27版本、64位操作系统解压版mysql的下载及安装配置及修改初始密码。如果是其他版本的mysql安装,可以自行查找其他方法,记住搜索的时候最好加上是什么版本的,因为不同版本的mysql安装的时候有些命令是不同的,...

MongoDB中MapReduce的使用方法详解

前言 玩过Hadoop的小伙伴对MapReduce应该不陌生,MapReduce的强大且灵活,它可以将一个大问题拆分为多个小问题,将各个小问题发送到不同的机器上去处理,所有的机器都完成计算后,再将计算结果合并为一个完整的解决方案,这就是所谓的分布式计算。本...

MySQL视图的概念、创建、查看、删除和修改详解

一、什么是视图 小学的时候,每年都会举办一次抽考活动,意思是从每一个班级里面筛选出几个优秀的同学去参加考试。这时候很多班级筛选出来的这些同学就可以临时组成一个班级,如果我们把每一个班级都当做是一张真实的表,这个临时的班级在数据库里就可以当做一个视图,也就是...

MongoDB凭什么跻身数据库排行前五

DB-Engines 数据库流行度排行榜发布了5 月份的数据,前六名的排名“千年不变”,分别是:Oracle、MySQL、Microsoft SQL Server、PostgreSQL、MongoDB 和IBM Db2。而其中...