随笔分类 -  mysql

摘要:1、一级索引(聚集索引、聚类索引、簇集索引) 索引和数据存储在一起,都存储在同一个B+tree中的叶子节点。一般主键索引都是一级索引。 2、二级索引 二级索引树的叶子节点存储的是主键而不是数据。也就是说,在找到索引后,得到对应的主键,再回到一级索引中找主键对应的数据记录。 3、例子介绍 下面我们通过 阅读全文
posted @ 2023-05-11 17:06 姚春辉 阅读(393) 评论(0) 推荐(0)
摘要:https://mp.weixin.qq.com/s?__biz=Mzg3NzU5NTIwNg==&mid=2247501483&idx=1&sn=b4474c5564ace63b96d3ccd91ac358cd&chksm=cf221982f85590945fdd4a17407eb4eaad6f9 阅读全文
posted @ 2022-10-10 14:42 姚春辉 阅读(73) 评论(0) 推荐(0)
摘要:为什么默认隔离级别是RR?可能大部分人都只知道MySQL的隔离级别有4个,分别是RU读未提交、RC读已提交、RR可重复读和Serializable可串行化,很少有人知道MySQL默认的隔离级别是RR,Oracle默认的隔离级别是RC。那就更少有人知道为什么MySQL默认的隔离级别是RR了。我也是刚刚 阅读全文
posted @ 2022-08-11 10:35 姚春辉 阅读(394) 评论(0) 推荐(0)
摘要:关于MySQL的事务隔离级别,相信很多读者都不陌生,网商有很多种相关的文章,很多人对于各种隔离级别,以及不同的级别可以解决的一些读现象都是如数家珍的。 如果大家对这部分知识不了解,可以看一下我几年前写的文章: 数据库的读现象浅析中介绍了什么是脏读、幻读、不可重复读以及他们产生的背景。 深入分析事务的 阅读全文
posted @ 2022-07-28 16:54 姚春辉 阅读(157) 评论(0) 推荐(0)
摘要:我之前写过一篇文章《为什么MySQL选择REPEATABLE READ作为默认隔离级别?》介绍过MySQL 的默认隔离级别是 Repeatable Reads以及背后的原因。 主要是因为MySQL在主从复制的过程是通过bin log 进行数据同步的,而MySQL早期只有statement这种bin 阅读全文
posted @ 2022-07-28 16:51 姚春辉 阅读(202) 评论(0) 推荐(0)
摘要:mysql官网下载windows安装包 下载地址:https://dev.mysql.com/downloads/mysql/ 2. 安装mysql 1. 配置环境变量 变量名:MYSQL_HOME 路径:D:\mysql\mysql-8.0.25-winx64 2. 生成data文件 以管理员身份 阅读全文
posted @ 2022-04-12 21:07 姚春辉 阅读(955) 评论(0) 推荐(0)
摘要:前言 很多公司都采用的Mysql主从架构,相信很多人困扰于主从延时问题,这篇文章就系统的讲述下Mysql主从延时问题。 Mysql主从同步原理 Mysql主从延时解决方案 Mysql主从延时过长 Mysql主从同步原理 从Canal官网抄个图 主从同步.png 大致流程如下: mysql-主从流程. 阅读全文
posted @ 2022-01-25 14:11 姚春辉 阅读(413) 评论(0) 推荐(0)
摘要:二级索引:叶子节点中存储主键值,每次查找数据时,根据索引找到叶子节点中的主键值,根据主键值再到聚簇索引中得到完整的一行记录。 问题: 1.相比于叶子节点中存储行指针,二级索引存储主键值会占用更多的空间,那为什么要这样设计呢? InnoDB在移动行时,无需维护二级索引,因为叶子节点中存储的是主键值,而 阅读全文
posted @ 2021-12-09 18:11 姚春辉 阅读(438) 评论(0) 推荐(0)
摘要:问题 聚簇索引存储结构是如何的?二级索引存储结构又如何? 什么是覆盖索引? 怎么判断能不能用到索引? 准备 CREATE TABLE `book` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `a 阅读全文
posted @ 2021-12-09 17:09 姚春辉 阅读(145) 评论(0) 推荐(0)
摘要:导读 本文参考自简书的某位作者,并做了增删。我一般称为“一级索引”和“二级索引”,这样好记一点。正确的称谓是:集聚索引和非聚集索引。顾名思义,叶子节点存放主索引和数据的树,称为集聚索引树;叶子节点存放辅助索引和主索引的树,称为非集聚索引树。 备注:一和二体现了主次和先后关系,聚焦和非聚焦体现不出来, 阅读全文
posted @ 2021-12-09 16:43 姚春辉 阅读(857) 评论(0) 推荐(0)
摘要:引言 在上篇文章《老生常谈——利用消息队列处理分布式事务》一文中留了一个坑,今天来填坑。如下图所示如果服务A和服务B之间是同步调用,比如服务C需要按流程调服务A和服务B,服务A和服务B要么一起成功,要么一起失败。针对这种情况,目前业内普遍推荐使用TCC事务来解决的! 正文 ok,老规矩,我们先套一个 阅读全文
posted @ 2021-12-08 10:36 姚春辉 阅读(207) 评论(0) 推荐(0)
摘要:1.redo日志 为了在服务器崩溃时保证数据安全并提升系统性能,innodb存储引擎首先会将提交的事物内容记录到redo日志,而对实际数据文件修改则放在以后,批处理方式刷盘。redo日志像逻辑的存储场所,它循环使用多个文件。(ib_logfile0、ib_logfile1、ib_logfile2) 阅读全文
posted @ 2021-12-06 20:08 姚春辉 阅读(503) 评论(0) 推荐(0)
摘要:事务是MySQL等关系型数据库区别于NoSQL的重要方面,是保证数据一致性的重要手段。本文将首先介绍MySQL事务相关的基础概念,然后介绍事务的ACID特性,并分析其实现原理。 MySQL博大精深,文章疏漏之处在所难免,欢迎批评指正。 一、基础概念 事务(Transaction)是访问和更新数据库的 阅读全文
posted @ 2021-12-06 20:07 姚春辉 阅读(640) 评论(0) 推荐(0)
摘要:在说这个之前首先了解一下讲一下update语句sql中的情况。 死锁产生的条件:出现循环等待资源。 update对锁的流程: 当sql发出一个update请求之后,数据库会对表中的每条记录加上U锁。然后数据库会根据where条件,将符合条件的记录转换为X锁。对不满足条件的记录释放U锁。 环境模拟1. 阅读全文
posted @ 2021-12-03 10:33 姚春辉 阅读(2184) 评论(0) 推荐(0)
摘要:工作原理 1、主节点必须启用二进制日志,记录任何修改了数据库数据的事件。2、从节点开启一个线程(I/O Thread)把自己扮演成 mysql 的客户端,通过 mysql 协议,请求主节点的二进制日志文件中的事件3、主节点启动一个线程(dump Thread),检查自己二进制日志中的事件,跟对方请求 阅读全文
posted @ 2021-11-30 15:34 姚春辉 阅读(939) 评论(0) 推荐(0)
摘要:背景 分库分表这个词相信很多人都不陌生,在互联网公司数据到达一定规模的时候,多数都会对数据进行分库分表,或者也有人叫分片,英文翻译为Sharding;更加准确来说我们常常关心的是水平分片,即单个业务的某些表到达一定规模后,即使建立索引也无法从根本上带来很大的性能提升,这时我们会考虑把单表拆分,以My 阅读全文
posted @ 2021-11-24 18:18 姚春辉 阅读(1740) 评论(0) 推荐(0)
摘要:1 2 show variables like '%max_connection%'; 查看最大连接数 set global max_connections=1000; 重新设置最大连接数 1 2 3 4 5 6 7 8 9 10 11 mysql> show status like 'Thread 阅读全文
posted @ 2021-11-18 11:21 姚春辉 阅读(536) 评论(0) 推荐(0)
摘要:在做db基准测试的时候,qps,tps 是衡量数据库性能的关键指标。本文比较了网上的两种计算方式。先来了解一下相关概念。 概念介绍: QPS:Queries Per Second 查询量/秒,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理查询量多少的衡量标准。 TPS 阅读全文
posted @ 2021-11-18 10:58 姚春辉 阅读(3608) 评论(0) 推荐(0)
摘要:在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。所以我们深入了解MySQL 阅读全文
posted @ 2021-11-10 14:02 姚春辉 阅读(139) 评论(0) 推荐(0)
摘要:在开发过程中,我们少不了用到分页,我最习惯的分页是用limit来分页。由于之前的时候写的项目数据量并不大,所以用的是pageHelper这个插件来分页的。以前也没有什么感觉,近期做的项目数据量有点大,越来越感觉sql效率不够,就看了一下它的基本工作原理。 当然,技术不到家,查看api什么的也看不太懂 阅读全文
posted @ 2021-07-27 15:48 姚春辉 阅读(1057) 评论(0) 推荐(0)