
《MySQL从入门到精通与实战》
文章平均质量分 95
本专栏会全面讲解MySQL有哪些知识,帮助大家可以简历中写“精通MySQL”而不虚,帮助学习本专栏的人成为组内数据库Owner。
小 明
2022博客之星TOP3/博客专家/CSDN后端内容合伙人、InfoQ(极客时间)签约作者。8年开发经验,就职知名金融互联网大厂后端研发专家,专注于面试、后端、源码、架构、算法,擅长高安全/可用/并发/性能的架构设计与演进、系统优化与稳定性建设。
文章底部联系 -> 商务合作 | 技术交流 | 粉丝福利
展开
-
【MySQL】orderby/groupby出现Using filesort根因分析及优化
在日常的数据库运维中,我们可能会遇到一些看似难以理解的现象。比如两个SQL查询语句,仅仅在ORDER BY子句上略有不同,却造成了性能的天壤之别——一个飞速完成,一个则让数据库崩溃。今天就让我们围绕这个问题,深入剖析MySQL的查询优化机制。原创 2024-01-01 09:27:26 · 6435 阅读 · 5 评论 -
【MySQL】InnoDB和MyISAM区别详解(MySQL专栏启动)
文本适合解决:你们公司用什么存储引擎?InnoDB和MyISAM 区别?为什么选择InnoDB?什么事聚簇索引什么是非聚簇索引?InnoDB如何存储数据?如何选择存储引擎?InnoDB为什么推荐用自增ID做主键?等类似的问题。原创 2023-11-18 22:03:11 · 4565 阅读 · 9 评论 -
【MySQL】MySQL实现ACID的原理(MySQL专栏启动)
MySQL实现事务四大特性(ACID,原子性,隔离性,一致性,持久)的原理解析,主要为Undo Log、Redo Log、mvcc、锁的运用原创 2023-10-16 23:03:37 · 7234 阅读 · 42 评论 -
【分库分表】企业级分库分表实战方案与详解(MySQL专栏启动)
本文是真实百亿级数据分库分表生产实践方案脱敏后的详解,第一部分分析分库分表重难点,给出总架构设计图,第二部分是分库分表架构分析,暴扣数据库源迁移配置、数据路由、数据源配置、全量+增量同步复制及重试方案、校验数据定时任务方案,最后一部分是介绍分库分表技术方案客户端直连和MyCat中间层。原创 2023-02-19 16:03:16 · 5835 阅读 · 27 评论 -
【MySQL】MyCat分库分表分片规则配置详解与实战(MySQL专栏启动)
MyCat 拆分策略包含垂直拆分和水平拆分,作垂直拆分时,一般做垂直分库;水平拆分,一般情况下只会进行水平拆分表。垂直分表和水平分库很复杂一般也不会在生产环境中使用,本文仅做了解和基于面试做配置和原理解析。原创 2023-02-12 14:37:24 · 3876 阅读 · 4 评论 -
【MySQL】MyCAT三大配置文件详解(MySQL专栏启动)
详解MyCAT主要配置文件schema.xml、server.xml、rule.xml的标签和属性,通过MyCAT实战实现数据库的分库分表及分片扩展。原创 2023-02-05 22:52:49 · 2323 阅读 · 5 评论 -
【MySQL】MyCAT基础概念、功能及适用场景(MySQL专栏启动)
掌握MyCAT的基本概念,MyCAT的应用场景和优缺点,掌握MyCAT安装和启动。原创 2023-01-19 00:39:03 · 2497 阅读 · 2 评论 -
【MySQL】MySQL视图原理与实战(MySQL专栏启动)
本文主要讲解视图(view)的基本概念,什么是视图以及视图的使用场景,视图增删改查的实战(CREATE、DESCRIBE、SHOW CREATE、DORP和ALTER),视图的更新操作包括增加(INSERT)、删除(DELETE)和更新(UPDATE)的视图操作基表数据实战。原创 2023-01-04 22:47:10 · 2414 阅读 · 32 评论 -
【MySQL】MySQL触发器原理与实战(MySQL专栏启动)
本文讲解触发器基本概念与原理,包括什么是触发器、触发器与存储过程异同、触发器的特性、优缺点和实际应用。第二节讲解MySQL触发器实战,包括创建、查看、MySQL修改和删除触发器,最后讲解MySQL支持的触发器类型触发器类型NEW和OLD的使用。原创 2023-01-03 22:54:10 · 2321 阅读 · 13 评论 -
【MySQL】MySQL存储过程与存储函数实战(MySQL专栏启动)
存储过程(Stored Procedure)和存储函数(Stored Function)是指存储在数据库中供所有用户调用的子程序。它们预先编译并存储在数据库系统中。本文讲解全面讲解其特性与优缺点,并附以实战解析。原创 2023-01-01 23:15:13 · 2701 阅读 · 5 评论 -
【MySQL】Innodb存储引擎之物理存储结构(MySQL专栏启动)
在 InnoDB 存储引擎中,存储结构分为逻辑结构和物理结构,本文详细讲解Innodb的物理结构,包括表空间(独立表空间、共享表空间)、日志文件组(重做文件组)和表结构定义文件组成,及其细节。同时本文也是对前面文章的一个补充,结合使用效果更佳:《高性能高可用设计实战-索引篇》、《MVCC详解与MVCC实现原理》、《MySQL日志系统以及InnoDB背后的技术》、《Innodb存储引擎逻辑存储结构与底层实现解析》。原创 2022-12-18 16:14:34 · 4690 阅读 · 4 评论 -
【MySQL】Innodb存储引擎逻辑存储结构与底层实现解析(MySQL专栏启动)
在 InnoDB 存储引擎中,存储结构分为逻辑结构和物理结构,本文详细讲解Innodb的逻辑结构,表空间、段、区、页、行,并对页结构和行结构进行深入解析。同时本文也是对前面文章的一个补充,结合使用效果更佳:《高性能高可用设计实战-索引篇》、《MVCC详解与MVCC实现原理》、《MySQL日志系统以及InnoDB背后的技术》。原创 2022-12-17 15:57:57 · 4487 阅读 · 5 评论 -
【MySQL】数据库备份与容灾详解(实战篇)(MySQL专栏启动)
在前面文章中《数据库机房架构与跨城容灾详解》、《MySQL参数调优与实战详解》、《数据库服务器硬件优化与实战详解》、《MySQL复制与高可用水平扩展架构实战》、《MySQL复制原理与主备一致性同步工作原理解析》、《MySQL日志系统以及InnoDB背后的技术》已经讲解了MySQL高可用架构的相关知识。本文主要讲解数据库备份,包括数据库全量备份(逻辑备份和物理备份)、增量备份以及常见的问题,此举完全是防止有人恶意删库跑路或者无意中删除数据库数据。原创 2022-11-30 23:10:41 · 5663 阅读 · 17 评论 -
【MySQL】数据库机房架构与跨城容灾详解(实战篇)(MySQL专栏启动)
我们在实际生产环境中,要求不允许丢失任何数据。也就是说,当MySQL数据库由于各种原因而无法使用时(发生宕机、网络异常等),不仅需要快速恢复业务,还需要确保数据一致性。本文主要讲解数据库机房架构与跨城容灾,包括主从复制的强一致性、同城多活、两地三中心、三地五中心、数据兜底逻辑等进行逐步讲解。原创 2022-11-29 23:23:41 · 5793 阅读 · 45 评论 -
【MySQL】数据库服务器硬件优化与实战详解(调优篇)(实战篇)(MySQL专栏启动)
本文从数据库服务器底层硬件介绍,什么是服务器,结合CSAPP中的第4、6、9章的存储器层次结构、虚拟内存、处理器体系结构,分析MySQL服务器需要做的一些优化,并给出优化建议。原创 2022-11-28 23:19:31 · 5847 阅读 · 25 评论 -
【MySQL】MySQL参数调优与实战详解(调优篇)(实战篇)(MySQL专栏启动)
本文主要讲解MySQL参数调优,包括SQL调优的参数解析,如何在生产环境调优,文中根据不同的数据库参数给出调优建议与应用场景。原创 2022-11-27 18:06:14 · 11042 阅读 · 97 评论 -
【MySQL】MySQL执行计划与SQL调优提高查询效率(优化篇)(实战篇)(MySQL专栏启动)
本文详细介绍MySQL执行计划及其原理,并且对SQL调优提高查询效率,如何优化SQL做出指导性建议,同时本文也是前面16篇文章的一个优化与实战思路的指导综合。学习本文之前,建议重点学习本专栏的《深入理解MySQL索引原理》*、《深入理解MySQL索引优化器原理》*、《MySQL体系结构与内部组件工作原理解析》*、《高性能高可用设计实战-索引篇》*、《MySQL数据库锁使用与InnoDB加锁的原理解析》原创 2022-11-23 23:24:14 · 6089 阅读 · 15 评论 -
【MySQL】MySQL体系结构与内部组件工作原理解析(原理篇)(MySQL专栏启动)
《本专栏MySQL》已经更新了15篇,基本的知识以及实际应用的一小部分已经更新完毕,如果对MySQL 有一些疑惑,不要陷入一个管中窥豹、盲人摸象的状态,你应该有自己的“一言以蔽之”和对MySQL 的鸟瞰,这可以帮助你从高维度理解问题。本文就是带你系统性学习MySQL 数据库的体系结构,详细介绍了MySQL的逻辑结构。原创 2022-11-20 23:42:54 · 10822 阅读 · 144 评论 -
【MySQL】MySQL复制原理与主备一致性同步工作原理解析(原理篇)(MySQL专栏启动)
本文基于《MySQL复制与高可用水平扩展架构实战》扩展其复制的原理以及切换一致性问题。还没看基础的读者们请先行了解这篇基础的MySQL复制详解与实战。本文主要对 MySQL 复制原理与主备一致性同步工作原理解析。原创 2022-11-17 23:23:02 · 4398 阅读 · 48 评论 -
【MySQL】MySQL复制与高可用水平扩展架构实战(MySQL专栏启动)
本文简单介绍几种复制方式复制在生产中解决的实际问题,MySQL复制的配置流程和MySQL复制类型,不会深入到MTBF、MTTR平均故障间隔、平均修复时间等等以及MMM 集群架构、MHA 集群架构等等产线实际应用的架构,也不会深入复制的原理,本文主要是带读者建立完整的MySQL 复制的知识体系,后续会通过单独的文章讲解:MySQL 复制工作原理、MySQL 高可用架构与企业级实战。原创 2022-11-16 23:43:03 · 5592 阅读 · 33 评论 -
【MySQL】MySQL日志系统以及InnoDB背后的技术(MySQL专栏启动)
本文主要详解MySQL数据库中Redo log(重做日志)、Bin Log (归档日志)、Uudo Log(撤销日志),以及 Log 与 InnoDB 的关系和区别,和MySQL事务特性的底层原理。本文也是对《MySQL事务隔离机制与实现原理详解 》、《MVCC详解与MVCC实现原理》的补充说明。原创 2022-11-15 23:29:20 · 6311 阅读 · 87 评论 -
【MySQL】MVCC详解与MVCC实现原理(MySQL专栏启动)
本文是:MySQL事务隔离机制与实现原理详解,的深入学习,我们在了解MySQL事务隔离机制与实现原理后,了解什么是MVCC,MVCC的实现原理,最后辨析当前读和快照读与MVCC和事务隔离的关系,更加全面和深入的MySQL事务隔离机制。原创 2022-11-14 23:16:05 · 6349 阅读 · 77 评论 -
【MySQL】MySQL数据库锁使用与InnoDB加锁的原理解析(MySQL专栏启动)
本文将通过锁的分类,包括库锁、表锁、页锁、行锁等等,详细介绍MySQL锁的使用、以及MySQL的优化和MySQL InnoDB加锁原理。原创 2022-11-13 19:09:14 · 4915 阅读 · 19 评论 -
【MySQL】MySQL事务隔离机制与实现原理详解(MySQL专栏启动)
本文介绍MySQL事务的使用和其存在长事务的风险, MySQL 的事务及其特性,并发事务带来的问题、事务的隔离级别与演示,单版本控制锁以及多版本并发控制 MVCC。原创 2022-11-12 18:56:24 · 9593 阅读 · 32 评论 -
【MySQL】深入理解MySQL分区表原理与企业级实战(MySQL专栏启动)
本文详细讲解什么是分区表,分区表增删改查的工作原理以及分区表的实战,分区表的场景有哪些,哪些场景不建议用分区表,并列举出六点使用分区表的误区。原创 2022-11-10 23:17:05 · 6631 阅读 · 29 评论 -
【MySQL】左连接右连接内连接与Hash连接、子查询原理与实战(MySQL专栏启动)
本文介绍MySQL数据库中的左连接、右连接、内连接与Hash连接的工作原理,并分析子查询与 JOIN 的不同,根据本文所学提供一些工作中需要掌握的实战技巧。原创 2022-11-09 23:04:22 · 7225 阅读 · 11 评论 -
【MySQL】深入理解MySQL索引优化器原理(MySQL专栏启动)
本文将解读MySQL数据库查询优化器(CBO)的工作原理。简单介绍了MySQL Server的组成,MySQL优化器选择索引额原理以及SQL成本分析,最后通过 select 查询总结整个查询过程。原创 2022-11-08 22:41:30 · 8766 阅读 · 63 评论 -
【MySQL】高性能高可用设计实战-索引篇(MySQL专栏启动)
高性能高可用设计实战-索引篇,结合上一篇文章 《深入理解MySQL索引原理》,本篇通过组合(联合、覆盖)索引是如何在生产环境中提升查询效率的,引出MySQL最左匹配原则和MySQL选择索引的方式。并给出了企业中MySQL创建索引设计规范和MySQL索引从设计到生产调优的过程。原创 2022-11-07 03:00:00 · 4342 阅读 · 19 评论 -
【MySQL】深入理解MySQL索引原理(MySQL专栏启动)
本篇文章博主对索引做了一个较为初步地概述,主要有2种主要的索引的数据结构b+tree和hash的数据结构,b+树的覆盖索引和回表进行分析,并对b+树存放记录、如何优化B+树索引的插入性能进行分析。原创 2022-11-06 15:40:56 · 4197 阅读 · 11 评论 -
【MySQL】高性能高可用表设计实战-表设计篇(MySQL专栏启动)
本篇文章结合前面上一篇文章 MySQL建表与常见类型设计陷阱,结合上文所学的属性类型,本文详细介绍表结构的字段类型选择和表的物理存储设计,主要有库、表、字段、索引的命名规范,反范式的设计原则、表压缩。后续博主会对建表的索引设计进行详细介绍。原创 2022-11-05 21:26:17 · 15101 阅读 · 146 评论 -
【MySQL】MySQL建表与常见类型设计陷阱(MySQL专栏启动)
本文作为MySQL系列第三篇文章,详细讲解了MySQL的建表语句、以及表结构的设计规范和陷阱,对网络上常见的资料给出的设计方案,做了博主自己的理解和反驳。原创 2022-11-04 23:49:24 · 2381 阅读 · 81 评论 -
【MySQL】MySQL增删改查与常见陷阱(MySQL专栏启动)
本文作为MySQL系列第二篇文章,详细讲解了MySQL的增删改查的语句、语义和一些我们经常在开发工作中暴露的问题,MySQL的增删改查又叫数据操作语句,本文有讲些了一些常用的数据操作语句,select语句后续将作为一篇完整的文章进行学习它的查询复杂场景语句、优化以及原理,最后通过一个生产问题介绍了mysql隐式类型的陷阱。原创 2022-11-02 23:52:25 · 2968 阅读 · 116 评论 -
【MySQL】如何构建一个完整的MySQL知识体系(MySQL专栏启动)
为了能够使大家真正高效学好 MySQL,本文通过为什么要学MySQL,到MySQL要学习什么,给出本专栏会讲解MySQL哪些知识,全面了解本专栏,帮助大家可以简历中写“精通MySQL”而不虚,帮助学习本专栏的人成为组内数据库Owner。原创 2022-11-01 23:14:18 · 4153 阅读 · 76 评论