随笔分类 -  mysql

mysql
摘要:索引是 MySQL 中提升查询效率的核心工具,就像书籍的目录——通过索引可以快速定位到目标数据,而无需逐行扫描整张表。下面从基础概念、类型、使用原则到最佳实践,由浅入深讲解。 一、索引的核心概念 1. 索引的作用 加速查询:这是最核心的作用,避免全表扫描(Full Table Scan)。 优化排序 阅读全文
posted @ 2026-03-12 15:37 七星6609 阅读(4) 评论(0) 推荐(0)
摘要:分库分表是数据库水平扩展(Scale-Out) 的核心技术,通过“分而治之”将单库/单表的压力分散到多个库/表,解决海量数据存储、高并发写入/查询的瓶颈,是中大型系统架构演进的关键环节。 一、核心痛点:为什么必须分库分表? 单库单表在数据量和并发量达到阈值后,会出现明显性能瓶颈,主要体现在4个方面: 阅读全文
posted @ 2026-03-12 11:10 七星6609 阅读(15) 评论(0) 推荐(0)
摘要:两个核心问题——“高并发下多个事务是否生成undo log多版本链”“undo log是否加锁后才生成”,是理解InnoDB事务一致性和并发控制的关键。本文结合高并发场景,从版本链本质、生成时机、锁与undo log的关联逻辑三个维度,给出精准且落地的解析。 一、核心结论先明确 版本链数量:同一行数 阅读全文
posted @ 2026-03-09 16:55 七星6609 阅读(2) 评论(0) 推荐(0)
摘要:在MySQL InnoDB高并发写同一行数据的场景中,undo log版本链是保证事务原子性、实现MVCC的核心。当版本链中某条事务回滚时,InnoDB并非简单“删除”该事务的版本记录,而是通过回滚指针(roll_pointer) 逆向遍历版本链,将数据恢复到该事务执行前的“基准版本”;同时,回滚操 阅读全文
posted @ 2026-03-09 16:18 七星6609 阅读(16) 评论(0) 推荐(0)
摘要:两阶段提交(2PC)是MySQL保证redo log(InnoDB层) 和binlog(Server层) 一致性的核心机制,其执行流程严格分为「Prepare阶段」和「Commit阶段」,每个阶段都有明确的核心动作、数据状态变化和异常处理逻辑。本文会结合InnoDB底层逻辑,拆解2PC从触发到完成的 阅读全文
posted @ 2026-03-09 15:53 七星6609 阅读(23) 评论(0) 推荐(0)
摘要:关于事务持久性和一致性,接下来我会从为什么需要2PC、2PC完整执行流程、崩溃恢复的具体判断逻辑三个维度,把这个知识点讲透,让你不仅知其然,更知其所以然。 一、为什么必须引入两阶段提交? 首先要明确:redo log(InnoDB层)和binlog(MySQL Server层)是两个独立的日志体系, 阅读全文
posted @ 2026-03-09 15:07 七星6609 阅读(14) 评论(0) 推荐(0)
摘要:InnoDB的更新事务是数据库中最核心、最复杂的操作之一,其执行过程不仅要保证数据修改的正确性,还要通过锁机制、日志体系、MVCC 等核心组件,兼顾并发性能与数据一致性(ACID)。本文将从SQL执行的底层视角,拆解一次UPDATE事务从发起到最终落地磁盘的完整流程,结合InnoDB的核心机制讲清每 阅读全文
posted @ 2026-03-09 14:39 七星6609 阅读(6) 评论(0) 推荐(0)
摘要:在InnoDB中,“锁是加在索引上”是核心结论,但很多人只知其然不知其所以然——当多个事务通过不同索引操作同一行数据时,是否会产生锁冲突?答案是:大概率会产生冲突(尤其是写操作),但具体取决于索引类型、操作类型和锁机制。本文从索引结构、锁的绑定逻辑、冲突场景三个维度,拆解底层原理和实际影响。 一、核 阅读全文
posted @ 2026-03-09 14:17 七星6609 阅读(5) 评论(0) 推荐(0)
摘要:在MySQL中,InnoDB引擎是唯一支持事务的存储引擎,事务也是保证数据一致性、解决并发数据访问问题的核心,更是MySQL技术面试的高频考点。本文将从InnoDB事务执行过程、事务隔离级别、事务并发异常三个核心维度,讲清原理、关联逻辑和面试常考点,内容偏实战和底层,适配技术面考察要求。 一、Inn 阅读全文
posted @ 2026-03-09 13:50 七星6609 阅读(3) 评论(0) 推荐(0)
摘要:今天产品问了一个问题,问懵了 产品:canal在开通mysql权限时需要哪些权限 我:SELECT, REPLICATION SLAVE, REPLICATION CLIENT 产品:那SELECT权限要开通到表级还是库级(我们使用canal同步数据时最终选择到表) 我:en..... 晚会给你答案 阅读全文
posted @ 2021-03-06 16:59 七星6609 阅读(949) 评论(0) 推荐(0)
摘要:通过配置VIP,在进行主备切换时,出现的报错信息: 1.当主备节点当前binlog文件名称相同时,原主节点的position小于主备切换后的position,出现如下报错: 2020-07-02 15:08:09,332 INFO [destination = 1-236 , address = / 阅读全文
posted @ 2020-11-22 20:24 七星6609 阅读(2399) 评论(0) 推荐(0)
摘要:无论是传统行业,还是互联网行业,数据可用性都是至关重要的,虽然现在已经步入大数据时代,nosql比较流行,但是作为数据持久化及事务性的关系型数据库依然是项目首选,比如mysql。 现在几乎所有的公司项目,不说可用性必须达到5个9,至少也要要求,数据库出现问题,不能丢失数据,能够快速响应异常处理,下面 阅读全文
posted @ 2020-07-05 22:49 七星6609 阅读(3041) 评论(3) 推荐(4)
摘要:mysql是我们最常用的开源的关系型数据库,mysql不同版本有时候安装的方式也不尽相同,下面以mysql5.7.28版本为例梳理一下安装细节: 1.下载mysql-5.7.28,URL:https://downloads.mysql.com/archives/community/ 我这里下载的是6 阅读全文
posted @ 2020-02-06 23:20 七星6609 阅读(17914) 评论(1) 推荐(2)
摘要:mysql是我们最常用的开源的关系型数据库,mysql不同版本有时候安装的方式也不尽相同,mysql-5.5和mysql-5.6安装大致相同,下面以mysql5.5.62版本为例梳理一下安装细节: 1.下载mysql5.5.62,URL:https://downloads.mysql.com/arc 阅读全文
posted @ 2020-02-05 23:20 七星6609 阅读(2574) 评论(0) 推荐(0)