中间件与数据库:MySQL
MySQL 全表 COUNT(*) 简述
“SELECT COUNT( * ) FROM t” 是个再常见不过的 SQL 需求了。在 MySQL 的使用规范中,我们一般使用事务引擎 InnoDB 作为(一般业务)表的存储引擎,在此前提下,COUNT( * )操作的时间复杂度为
解读MySQL 8.0新特性:Skip Scan Range
MySQL从8.0.13版本开始支持一种新的range scan方式,称为Loose Skip Scan
由MySQL复制延迟说起
前面一篇文章说了延迟复制案例,本文继续总结延迟和如何解决延迟的技术发展。
以MySQL为例,详解数据库索引原理及深度优化
本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。
深入浅出MySQL crash-safe
本文将从原理,参数,新的问题等几个方面对该特性进行介绍
MySQL Binlog 解析工具 Maxwell 详解
maxwell 简介Maxwell是一个能实时读取MySQL二进制日志binlog,并生成 JSON 格式的消息,作为生产者发送给 Kafka,Kinesis、RabbitMQ、Redis、Google Cloud Pub/Sub、文件或其它平台的应用程序。它的常见应用场景有ETL、维护缓存、收集表级别的dml指标、增量到搜索引擎、数据分区迁移、切库binlog回滚方案等。官网(http://ma
【译】MySQL挑战:建立10万连接
原文地址:www.percona.com/blog/2019/0… 本文的目的是探索一种在一台MySQL服务器上建立10w个连接的方法。我们要建立的是可以执行查询的连接,而不是10w个空闲连接。 你可能会问,我的MySQL服务器真的需要10w连接吗?我见过很多不同的部署方案,例如使用连接池,每个应用的连接&#
MySQL GTID日常维护案例
GTID日常维护案例
MySQL中存储UUID的最佳实践
在MySQL中有一个UUID () 函数,通常用UUID做唯一标识,需要在数据库中进行存储。使用此函数可以让MySQL生成一个UUID值,并以VARCHAR(36)类型的可读形式返回。如图1: 图1 UUID值是非常随机的,因此常常被用来当做主键值(PRIMARY KEY),而且这些以UUID作为主键&
记一次神奇的Mysql死锁排查
遇到Mysql死锁怎么办?不要慌,自己读这篇文章。
MySQL 大量sleeping before entering InnoDB 故障诊断
sleeping before entering InnoDB故障案例分析
MyFlash——美团点评的开源MySQL闪回工具
由于运维、DBA的误操作或是业务bug,我们在操作中时不时会出现误删除数据情况。早期要想恢复数据,只能让业务人员根据线上操作日志,构造误删除的数据,或者DBA使用binlog和备份的方式恢复数据,不管那种,都非常费时费力,而且容易出错。直到彭立勋首次在MySQL社区为mysqlbinlog扩展了闪回功能。
在美团点评,我们也遇到过研发人员误删主站的配置信息,从而导致主站长达2个小时不可用的情况。DBA同学当时使用了技术团队自研的binlog2sql完成了数据恢复,并多次挽救了线上误删数据导致的严重故障。不过,binlog2sql在恢复速度上不尽如人意,因此我们开发了一个新的工具——MyFlash,它很好地解决了上述痛点,能够方便并且高效地进行数据恢复。
分分钟解决 MySQL 查询速度慢与性能差
分分钟解决 MySQL 查询速度慢与性能差
MySQL如何快速无锁的实现并发迁移?
如何实现拥有mydumper的功能确摈弃全局锁带来的弊端呢 ? 阅读本文之后,我相信你会有一定的收获。
如何获取 MySQL innodb 的 B+tree 的高度
MySQL 的 innodb 引擎之所以使用 B+tree 来存储索引,就是想尽量减少数据查询时磁盘 IO 次数。树的高度直接影响了查询的性能。一般树的高度在 3~4 层较为适宜。数据库分表的目的也是为了控制树的高度。那么如何获取树的高度呢?下面使用一个示例来说明如何࠻
MySQL中一个双引号的错位引发的血案
最近经常碰到开发误删除误更新数据,这不,他们又给我找了个麻烦,我们来看下整个过程。 二、过程 由于开发需要在生产环节中修复数据,需要执行120条SQL语句,需要将数据进行更新 于是开发连上了生产数据库,首先执行了第一条SQL update tablen