MySQL 浅谈Mysql8和mysql5.7的区别 1.NoSql存储 Mysql从5.7 版本提供了NoSQL的存储功能,在8.0中这部分得到一些修改,不过这个在实际中用的极少 2.隐藏索引 隐藏索引的特性对于性能调试非常有用,在8.0 中,索引可以被隐藏和显示,当一个索引隐藏时,他不会被查询优化器所使用...
MySQL MySQL 时间类型用 datetime, timestamp 还是 integer 更好 问题 今天我们来探讨一个有意思的问题,先说场景: 这是一个做在线文档产品的业务,需要给用户展示文档的编辑记录,现在我们叫它【智能文档】。 智能文档会不定期给文档数据打一个快照,保存起来。用户可以在历史记录中查阅快照。 快照之间会展示具体的变更记录,比如&l...
MySQL 关于mysql 8.x 中insert ignore的性能问题 mysql 8.x中insert ignore性能问题 mysql中replace into效率很差,多进程并发一下就会锁表,所以应该用on duplicate 来做更新,这是众所周知的了。没想到insert ignore也有性能坑,记录下遇到的问题。 为...
MySQL 使用LEFT JOIN 统计左右存在的数据问题 最近做了一个数据模块的统计,统计企业收款、发票相关的数据,开始统计是比较简单,后面再拆分账套统计就有点小复杂,本文做一个简单的记录。 需求 企业表 企业表t_company有如下字段:标识id、企业名称name: id name 1 腾讯 2 百度 收款表...
MySQL MySQL EXPLAIN执行计划解析 前言 调用EXPLAIN可以获取关于查询执行计划的信息,以及如何解释输出。EXPLAIN命令是查看查询优化器如何决定执行查询的主要方法,但该动能也有局限性,它的选择并不总是最优的,展示的也并不一定是真相。 1 调用EXPLAIN 要使用EXPLAIN,只需...
MySQL Mysql 8.0解压版下载安装以及配置的实例教程 前言 首先声明,这里是Mysql 8.0.27版本、64位操作系统解压版mysql的下载及安装配置及修改初始密码。如果是其他版本的mysql安装,可以自行查找其他方法,记住搜索的时候最好加上是什么版本的,因为不同版本的mysql安装的时候有些命令是不同的,...
MySQL MySQL视图的概念、创建、查看、删除和修改详解 一、什么是视图 小学的时候,每年都会举办一次抽考活动,意思是从每一个班级里面筛选出几个优秀的同学去参加考试。这时候很多班级筛选出来的这些同学就可以临时组成一个班级,如果我们把每一个班级都当做是一张真实的表,这个临时的班级在数据库里就可以当做一个视图,也就是...
MySQL MySQL基础入门之Case语句用法实例 引言 MySQL CASE 是一个 MySQL 语句查询关键字,它定义了处理循环概念以执行条件集并使用 IF ELSE 返回匹配案例的方式。 MySQL 中的 CASE 是一种控制语句,它验证条件案例集,并在第一个案例满足 else 值时显示值并退出循环。...
MySQL SQL中的开窗函数(窗口函数) 窗口函数 简单理解,就是对查询的结果多出一列,这一列可以是聚合值,也可以是排序值。 开窗函数一般就是说的是over()函数,其窗口是由一个 OVER 子句 定义的多行记录 开窗函数一般分为两类,聚合开窗函数和排序开窗函数。 简单来说,窗口函数有以下功能: ...
MySQL 浅谈Mysql时间的存储 datetime还是时间戳timestamp 简单对比 占用空间 MySQL 常用的日期时间类型常用的是datetime、timestamp。除此之外 还有用的不多的YEAR DATE TIME注意5.6.4的版本 从上表可以看到,DATETIME默认占用5个字节,而TIMESTAMP默认占用4个字节...
MySQL MySQL执行SQL语句的流程详解 1、通常sql执行流程 用户发起请求到业务服务器,执行sql语句时,先到连接池中获取连接,然后到mysql服务器执行查询。 1.1 问题1:MySQL谁去处理网络请求? msyql服务器谁负责从这个连接中去监听这个网络请求?谁负责从网络连接里把数据读出来?...
MySQL MySQL中LAG()函数和LEAD()函数的使用 一、窗口函数的基本用法 从MySQL8之后才开始支持窗口函数 <窗口函数> OVER ([PARTITION BY <用于分组的列>] ORDER BY <用于排序的列>) 二、LAG()和LEAD()函数介绍 lag和...