MySQL 自动的故障安全恢复详解(ACSR)
ACSR(AutoCrashSafeyRecovery)自动的故障安全恢复更新操作在一行数据被更新时:1、在使用BEGIN开启事务时,会先给.ibd文件中分配一个TXID号和LSN号,假设为tx_01与lsn1001;2、在UPDATE执行时,MySQL会找到需更新数据的数据页,并将其内容加载到da
MySQL 为啥不能用 UUID 做主键?
来自:博客园|作者:Yrion链接:www.cnblogs.com/wyq178/p/12548864.html前言在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一,单机递增),而是推荐连续自增的主键id,官方的推荐是auto_increme
MySQL 用 limit 为什么会影响性能?
一,前言首先说明一下MySQL的版本:mysql>selectversion();+-----------+|version()|+-----------+|5.7.17|+-----------+1rowinset(.00sec)表结构:mysql>desctest;+--------
MySQL 分库分表及其平滑扩容方案
众所周知,数据库很容易成为应用系统的瓶颈。单机数据库的资源和处理能力有限,在高并发的分布式系统中,可采用分库分表突破单机局限。本文总结了分库分表的相关概念、全局ID的生成策略、分片策略、平滑
MySQL 中如何定位 DDL 被阻塞的问题
经常碰到开发、测试童鞋会问,线下开发、测试环境,执行了一个DDL,发现很久都没有执行完,是不是被阻塞了?要怎么解决?包括在群里,也经常会碰到类似问题:DDL被阻塞了,如何找到阻塞它的SQL?实际上,如何解决DDL被阻塞的问题,是MySQL中一个共性且高频的问题。下面,就这个问题,给一个清晰明了、拿来
为什么MySQL不推荐使用子查询和JOIN?
1.对于mysql,不推荐使用子查询和join是因为本身join的效率就是硬伤,一旦数据量很大效率就很难保证,强烈推荐分别根据索引单表取数据,然后在程序里面做join,merge数据。2.子查询就更别用了,效率太差,执行子
57张图+13个实验,横扫MySQL锁的知识盲区
前言前段时间写了一篇关于MySQL锁的文章,一些小伙伴们在阅读之后产生了一些疑问,这些问题还挺有代表性的,所以在这里做个实验,来用事实探究一番。那篇文章提到了记录锁(RecordLocks),顾名思义锁的是记录,作用在索引上的记录。锁是作用在索引上这句话可能不太好理解,并且对于在可重复读和读提交两个
MySQL 中如何定位 DDL 被阻塞的问题
经常碰到开发、测试童鞋会问,线下开发、测试环境,执行了一个DDL,发现很久都没有执行完,是不是被阻塞了?要怎么解决?包括在群里,也经常会碰到类似问题:DDL被阻塞了,如何找到阻塞它的SQL?实际上,如何解决DDL被阻塞的问题,是MySQL中一个共性且高频的问题。下面,就这个问题,给一个清晰明了、拿来
Excel 数据导入 MySQL
Excel数据导入MySQL的方式有很多,比如借助Navicat,这一节内容我们来聊聊不借助第三方导入工具,将Excel数据导入MySQL的方法。1新建Excel文件新建一个Excel文件,写入数据:2将Excel转成CSV文件点击Excel的“文件”-“另存为”,然后把保存类型换成CSV,如下图:
MySQL 事务浅析
我们是否考虑过一个问题:转账会不会出现钱扣了对方也没收到钱的情况?按照现在的技术,基本也不会出现,因为目前一个转账操作基本在一个事务中。事务内的语句,要么全部执行成功,要么全部执行失败。也就是说,上面转账过程中,即使中间出现问题,也会回滚,取消扣钱操作。那MySQL事务还有哪些特性呢?这一节内容就来
如何在 Kubernetes 上优雅的运行一个 MySQL 主从架构集群
一般情况下Kubernetes可以通过ReplicaSet以一个Pod模板创建多个Pod副本,但是它们都是无状态的,任何时候它们都可以被一个全新的Pod替换。然而有状态的Pod需要另外的方案确保当一个有状态的Pod挂掉后,这个P
京东到家程序员删库跑路 ! 讲一讲 MySQL 数据备份杀手锏 binlog
大家好,我是飘渺~我们都知道,数据非常重要网上也经常看到一些段子,某公司程序员对工作不满,删库跑路,老板损失惨重,欲哭无泪。这不最近又爆出一例,京东到家程序员离职当天删库跑路!那么有没有什么解决方案?即使数据库真的被删了,也有备份数据,能快速恢复。甚至可以做到实时热备,即使内部炸掉外部用户也感知不到
MySQL的varchar水真的太深了,你真的会用吗?
InnoDB是干嘛的?InnoDB是一个将表中的数据存储到磁
MySql 一棵 B+ 树到底能存多少条数据呢?
mysql的InnoDB存储引擎一棵B+树可以存放多少行数据?要搞清楚这个问题,首先要从InnoDB索引数据结构、数据组织方式说起。我们都知道计算机有五大组成部分:控制器,运算器,存储器,输入设备,输出设备。其中很重要的,也跟今天这个题目有关系的是存储器。我们知道万事万物都有自己的单元体系,若干个小
MySQL 中 blob 和 text 数据类型详解
前言:前面文章我们介绍过一些常用数据类型的用法,比如int、char、varchar等。一直没详细介绍过blob及text类型,虽然这两类数据类型不太常用,但在某些场景下还是会用到的。本篇文章将主要介绍blob及text数据类型的相关知识。1.blob类型blob(binarylargeobject
图解MySQL是如何运行的
一.MySQL的一条查询语句是怎么运行的一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。假如在MySQL中有一个查询会话请求,那么大概流程如下:(1)MySQL客户端对MySQLServer的监听端口发起请求。(2)在连接者组件层创建连接、
技术干货 | 如何查看MySQL数据库一段时间内的连接情况?两种方式来解锁~
后台有DBA小伙伴问到一个问题:如何查看MySQL数据库一段时间内的连接情况呢?据小编了解,查看方式已知至少有两种方式可以实现,让我们一起往下解锁吧~方式一开启general_log就能观察到•开启命令mysql>setglobalgeneral_log=ON;•执行一些操作[root@mgr
使用雪花id或uuid作为Mysql主键,被老板怼了一顿!
前言:在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uui
MySQL + JSON = 王炸!!
关系型的结构化存储存在一定的弊端,因为它需要预先定义好所有的列以及列对应的类型。但是业务在发展过程中,或许需要扩展单个列的描述功能,这时,如果能用好JSON数据类型,那就能打通关系型和非关系型数据的存储之间的界限,为业务提供更好的架构选择。当然,很多同学在用JSO
MySQL模糊查询再也用不着 like+% 了!
我们都知道InnoDB在模糊查询数据时使用"%xx"会导致索引失效,但有时需求就是如此,类似这样的需求还有很多,例如,搜索引擎需要根基用户数据的关键字进行全文查找,电子商务网站需要根据用户的查询条件,在可能需要在商品