MySQL中的开窗函数
前言窗口函数的格式函数(Function)的类型开窗函数over()窗口函数使用ROW_NUMBER()RANK()与DENSE_RANK()LEAD()与LAG()FIRST_VALUE()与LAS
管理MySQL常用的统计语句
这一节内容,整理一些管理MySQL会经常用到的统计语句,比如表的碎片率、非InnoDB的表、所有用户和所有业务库等。1查看所有业务库selectschema_namefrominformation_schema.schematawhereschema_namenotin('information_s
MySQL为啥不能用uuid做主键?!
前言在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一,单机递增),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用u
MySQL去重3种方法,还有谁不会?
在使用SQL提数的时候,常会遇到表内有重复值的时候,比如我们想得到uv(独立访客),就需要做去重。在MySQL中通常是使用distinct或groupby子句,但在支持窗口函数的sql(如HiveSQL、Oracle等等)中还可以使用row_n
绝了!这个MySQL故障定位方法太好用了
我们都知道,MySQL中的错误日志,慢查询日志可以帮你快速定位问题。但有时候,日志记录的信息过少,或者是你感兴趣信息被没有被记下来,有时候又记录了过多问题,大量无效信息干扰你排查问题。因此,这篇文章介绍一种新的思路——探针技术,这种技术可以在不影响MySQL运行,不破现场环境的
MySQL 查询语句的准备阶段是怎样的?
这一篇主要讲的内容是一条简单查询语句,在查询准备阶段会干哪些事情?分3个部分:打开表select*替换为表字段填充where条件示例表及SQL如下:--表结构CR
MySQL 的 varchar 水太深了,你真的会用吗?
InnoDB是干嘛的?InnoDB是一个将表中的数据存储到磁盘上的存储引擎。2.InnoDB是如何读写数据的?InnoDB处理数据的过程
MYSQL 如果索引优化仅仅是添加索引,too young to simple
MYSQL的索引优化,如果此时此刻看到索引的优化,仅仅想到添加适合的索引,是不完全的,索引的优化本身就具有很多的不确定性。1索引会随着时间的推移,有性能的衰减2索引会随着数据量的增加,有性能的衰减3数据表随着业务的扩展,增加字段,条件的变化,索引变得不在有效或成为性能的阻碍4索引在一个表中本身的数量
MySQL 的行格式是怎样的
行格式(rowformat)决定了我们插入的一行数据,是如何存储在数据库中的,MySQL有4种行格式,分别是REDUNDANT,COMPACT,DYNAMIC,COMPRESSED。不同行格式区别:行格式紧凑存储增强可变长度列存储大索引键前缀压缩支持支持的表空间类型所需文件格式REDUNDANT否否
1亿条数据批量插入 MySQL,哪种方式最快?
中文详细注释的开源项目RPC框架Dubbo源码解析网络应用框架Netty源码解析消息中间件RocketMQ源码解析数据库中间件
一份非常完整的 MySQL 规范文档
一、数据库命令规范·所有数据库对象名称必须使用小写字母并用下划线分割·所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来)·数据库对象的命名要能做到见名识意,并且最后不要超过32个字符·临时库表必须以tmp_
一定要弄懂的MySQL复制原理~
在之前的MySQL系列文章中陆陆续续分享了MySQL架构中的表结构设计、索引设计。对业务开发的同学来说,掌握这些内容已经能很好地面向业务逻辑进行编码工作了。但是业务需要上线,所以除了表和索引的结构设计之外,你还要做好高可用的设计。
MySQL 8.0 如何创建一张规范的表
这一节内容,基于MySQL8.0版本,聊一下如何创建一张规范的表。首先贴出一张相对规范的表结构:CREATETABLEstudent_info(`id`INTNOTNULLAUTO_INCREMENTCOMMENT'主键',`stu_name`VARCHAR(10)NOTNULLDEFAULT''C
MySQL到底支不支持哈希索引?(收藏)
经常有朋友问,MySQL的InnoDB到底支不支持哈希索引?对于InnoDB的哈希索引,确切的应该这么说:(1)InnoDB用户无法手动创建哈希索引,这一层上说,InnoDB确实不支持哈希索引;(2)InnoDB会自调优(self-tuning),如果判定建立自适应哈希索引(AdaptiveHash
一次 MySQL 线上事故,被教育了
目录背景分析数据模拟测试解决方案小结今天给大家分享个生产事故,一个由于MySQL分页导致的线上事故,事情是这样的~背景一天晚上10点半,下班后愉快的坐在在回家的地铁上,心里想着周末的生活怎么安排。突然电话响了起来,一看是我们的一个运维同学,顿时紧张了起来,本周的版
MySQL 查询语句的 limit, offset 是怎么实现的?
在写select语句的时候,使用limit,offset可能就像是我们吃饭喝水一样自然了。刚开始工作的时候也经常听前辈们教导:使用limit,offset,当offset变大的时候执行效率会越来越低。相信在前辈们的言传身教,和自己的实战过程中,大家也都知道了为什么会这样。因为select在执行过程中
MYSQL VS POLARDB 唯一索引死锁与应用设计
#issue68021MySQLuniquecheck问题-知乎(zhihu.com)事情的开始是这样的,最近和阿里云密切联系,也成为他们的大客户,(我们当然是大客户,BIGBIGBIGpotato),也就和他们的核心的研发的同学有了密切的接触,这篇文字就是他们的顶尖人物写的关于MYSQL唯一索引的
MySQL 批量插入数据,一次插入多少行数据效率最高?
一、前言我们在操作大型数据表或者日志文件的时候经常会需要写入数据到数据库,那么最合适的方案就是数据库的批量插入。只是我们在执行批量操作的时候,一次插入多少数据才合适呢?假如需要插入的数据有百万条,那么一次批量插入多少条的时候,效率会高一些呢
MySQL 5.7 和 8.0 几处细节上的差异
MySQL8.0相对于MySQL5.7,有很多新特性,比如:快速加列、原子DDL、不可见索引、额外端口、角色管理等。这一节内容,就不讲这些新特性了,只来聊聊最近在工作学习过程中遇到的几处细节上的差异。1int字段类型的差异比如下面的建表语句,在5.7能正常执行:CREATETABLE`t1`(`id
一千行 MySQL 学习笔记
Windows服务--启动MySQLnetstartmysql--创建Windows服务sccreatemysqlbinPath=mysqld_bin_path(注意:等号与值之间有空格)连接与断开服