《MySQL高手养成计划》
文章平均质量分 95
本专栏系统讲解 MySQL 的安装配置、SQL 优化、索引机制、事务隔离、日志系统、主从复制、高可用架构、性能调优与面试实战等核心知识点。
the beard
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MySQL进阶:(第四篇)索引的使用规则及注意事项
本文系统介绍了MySQL索引优化策略。通过实验验证了索引对查询效率的提升,并分析了最左前缀法则、索引失效的常见场景(如列运算、字符串不加引号、模糊查询等)。详细探讨了覆盖索引与回表查询机制,指出覆盖索引可避免回表从而提升性能。介绍了前缀索引的创建方法及选择性评估原则,最后提出7条索引设计原则,强调应针对高频查询、高区分度字段建立索引,控制索引数量,并优先使用联合索引。全文通过具体SQL示例和keylen值变化直观展示了索引优化的实际效果。原创 2025-08-01 23:47:39 · 808 阅读 · 0 评论 -
MySQL进阶:(第一篇) 深入解析MySQL存储引擎架构
MySQL采用分层体系结构,包括连接层(处理客户端连接和认证)、服务层(SQL处理与优化)、引擎层(数据存储与检索)和存储层(文件系统交互)。主要存储引擎包括:1)InnoDB(默认引擎,支持事务、行锁和外键,使用表空间文件存储数据);2)MyISAM(早期引擎,不支持事务但访问速度快,数据与索引分文件存储);3)Memory(内存存储,适合临时表和缓存)。选择引擎需考虑应用需求:InnoDB适合高事务要求场景,MyISAM适合读密集型应用,Memory适用于临时数据存储。原创 2025-07-31 22:54:19 · 1111 阅读 · 0 评论 -
MySQL进阶:(第七篇)锁机制全解析
MySQL锁机制是保证数据并发访问一致性的关键技术。锁按粒度分为全局锁、表级锁和行级锁。全局锁锁定整个数据库实例,主要用于数据备份;表级锁包括表锁、元数据锁和意向锁,锁定整张表;行级锁通过索引实现,包括记录锁、间隙锁和临键锁,提供更细粒度的并发控制。InnoDB引擎在RR隔离级别下使用临键锁防止幻读,意向锁用于协调行锁与表锁的关系。锁机制的选择直接影响数据库性能,需根据业务场景合理使用。原创 2025-08-04 08:27:54 · 1105 阅读 · 0 评论 -
MySQL进阶:(第八篇)深入解析InnoDB存储架构
InnoDB存储引擎采用多级逻辑存储结构,包含表空间、段、区、页和行五个层次。内存结构由缓冲池、更改缓冲区、自适应哈希索引和日志缓冲区组成,用于提高I/O效率。磁盘结构包括系统表空间、独立表空间、通用表空间等不同类型。事务实现基于redo log保证持久性、undo log支持回滚和MVCC机制,通过版本链和ReadView实现快照读。MVCC结合隐藏字段(事务ID、回滚指针等)和锁机制,在RC和RR隔离级别下分别采用不同的ReadView生成策略,确保事务隔离性。整个体系通过redo log和undo l原创 2025-08-04 13:22:47 · 1089 阅读 · 0 评论 -
MySQL进阶:(第六篇) 深入理解视图/存储过程/触发器
本文摘要: 视图部分:介绍视图作为虚拟表的概念,详述创建、查询、修改和删除语法,重点说明通过视图操作数据时的检查选项(CASCADED/LOCAL)和限制条件。 存储过程:阐述存储过程的定义和优势,包括基本语法、变量类型(系统/用户/局部变量)、流程控制(IF/CASE/WHILE/REPEAT/LOOP)以及游标使用方法,特别强调条件处理程序解决游标异常问题。 存储函数:说明与存储过程的区别,展示带返回值函数的创建语法。 触发器:解析触发器在数据变更前后的执行机制,演示针对INSERT/UPDATE/DE原创 2025-08-03 19:04:55 · 1111 阅读 · 0 评论 -
MySQL进阶:(第三篇)索引性能分析
本文介绍了四种MySQL性能分析工具:1.通过SHOW GLOBAL STATUS查看SQL执行频率;2.配置慢查询日志记录执行超时的SQL;3.使用SHOW PROFILES分析SQL执行时间分布;4.EXPLAIN执行计划详解,包括各字段含义(如id、select_type、type等),重点解释了type字段的性能等级(从最优的NULL到最差的全表扫描ALL)。这些工具可帮助DBA优化数据库性能,定位慢查询问题。原创 2025-08-01 13:43:23 · 944 阅读 · 0 评论 -
MySQL进阶:(第五篇)SQL优化
摘要:本文介绍了MySQL数据库的七大性能优化策略。1)插入数据优化:推荐批量插入、手动提交事务、主键顺序插入和使用LOAD指令;2)主键优化:建议使用短主键、自增ID,避免页分裂;3)ORDER BY优化:建立合适的联合索引,避免filesort;4)GROUP BY优化:遵循最左前缀法则;5)LIMIT优化:使用覆盖索引加子查询;6)COUNT优化:推荐使用COUNT(*);7)UPDATE优化:确保WHERE条件使用索引字段,避免行锁升级为表锁。这些方法能显著提升数据库性能。原创 2025-08-02 16:43:34 · 1072 阅读 · 0 评论 -
MySQL进阶:(第二篇)索引的结构、分类、语法
本文系统介绍了MySQL索引的核心概念与实现原理。首先阐述了索引作为高效数据检索的有序数据结构,对比了有无索引的查询差异,并分析了索引在提升查询效率(降低IO和CPU消耗)与占用空间、影响更新操作之间的优缺点。重点剖析了多种索引数据结构:二叉树、红黑树在数据量大时的深度问题,B-Tree的多路平衡特性,以及MySQL优化后的B+Tree(增加相邻节点指针提升区间查询)。同时介绍了哈希索引的局限性和存储引擎支持情况,解释了InnoDB选择B+Tree的原因。最后详细说明了聚集索引的选取规则、索引分类及创建语法原创 2025-08-01 11:22:09 · 1431 阅读 · 0 评论
分享