自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 8.Innodb底层原理及MySQL日志机制深入剖析

大体来说,MySQL 可以分为 Server 层和存储引擎层两部分。查询缓存比较鸡肋,MySQL8.0已经移除。大多数情况查询缓存就是个鸡肋,为什么呢?因为查询缓存往往弊大于利。查询缓存的失效非常频繁,只要有对一个表的更新,这个表上所有的查询缓存都会 被清空。因此很可能你费劲地把结果存起来,还没使用呢,就被一个更新全清空了。对于更新压力大的数据库来说, 查询缓存的命中率会非常低。如果没有命中查询缓存,就要开始真正执行语句了。首先,MySQL 需要知道你要做什么,因此需要对 SQL 语句做解 析。

2025-07-09 15:00:53 735

原创 7.MySQL锁机制与优化实践以及MVCC底层原理剖析

锁分类从性能上分:乐观锁和悲观锁,乐观锁适合读操作的场景(版本号),悲观锁适合写操作过的场景。

2025-07-07 10:04:19 753

原创 6.深入理解MySQL事务隔离级别与锁机制

InnoDB事务机制解析:文章深入剖析了InnoDB事务的ACID特性实现原理,重点介绍了四种隔离级别(RU/RC/RR/SERIALIZABLE)及对应的并发问题(脏读/不可重复读/幻读)。通过undo log实现原子性,MVCC机制实现读写并发控制,redo log顺序写保证持久性。详细分析了共享锁(S锁)与排它锁(X锁)的应用场景,以及"脏写"问题的本质。最后给出事务优化建议:避免大事务、拆分长事务、异步处理非核心操作、将读操作置于事务外等性能优化方案,强调合理使用事务对系统性能的

2025-07-04 22:03:26 735

原创 5.MySQL索引优化实战2

【摘要】本文详解MySQL查询优化技术:1)分页查询优化,建议先获取主键再关联查询,避免直接排序大表;2)表关联算法分析,NLJ适用于有索引场景,BNL适合无索引情况,强调小表驱动大表和索引的重要性;3)COUNT查询优化方案,包括使用MyISAM引擎、统计表或Redis计数;4)数据类型选择原则,推荐使用更小的数据类型提升性能。文章还解读了阿里MySQL规范,建议单表超过500万行再考虑分库分表。

2025-07-04 13:45:16 587

原创 4.MySQL索引优化实战一

MySQL索引优化策略摘要: 联合索引使用范围查询时,首个字段范围查找通常不走索引,回表效率低。强制索引不一定提升效率,建议采用覆盖索引优化。 索引下推(ICP)特性可在遍历索引时提前过滤条件,减少回表次数,适用于like 'KK%'等场景,但不适用于范围查找和大结果集。 Order by/Group by优化需遵循最左前缀原则,优先使用索引排序(Using index),避免文件排序(Using filesort)。 索引设计原则:先业务后索引、联合索引覆盖查询条件、避免低基数字段索引、长字符串使用前缀索

2025-07-03 19:45:46 1044

原创 3.Explain详解与索引最佳实战

MySQL EXPLAIN工具使用详解 EXPLAIN是MySQL查询优化的重要工具,通过在SELECT前加EXPLAIN关键字可获取查询执行计划而非实际结果。主要分析内容包括: 关键列解析: id:SELECT执行顺序 type:连接类型(system到ALL性能递减) key:实际使用的索引 rows:预估扫描行数 Extra:额外信息(如Using index) 索引优化实践: 遵循最左前缀原则 避免索引列计算/函数操作 范围查询后索引失效 优先使用覆盖索引 LIKE通配符开头导致索引失效 高级功能:

2025-07-02 23:01:35 929

原创 2.Mysql索引底层数据结构与算法

b.为什么非主键索引结构叶子节点存储的是主键值?(一致性和节省存储空间)·一致性和节省存储空间·如果有三四个索引,那么都放那行数据,空间占用太多。·如果更新插入数据,还要更新所有索引携带的那行数据,可能会有一致性问题。

2025-07-02 17:27:20 904

原创 1.Mysql架构

MySQL查询语句的执行流程分为客户端连接、服务端处理和存储引擎操作三部分。服务端的Server层包含连接器、查询缓存(MySQL8.0已移除)、分析器、优化器和执行器,负责SQL解析、优化和权限验证等功能。存储引擎层(如InnoDB)负责数据存储和检索,采用插件式架构。更新语句还需处理redolog(物理日志,保证持久性)和binlog(逻辑日志,用于复制),通过两阶段提交确保数据一致性。其中redolog采用循环写入,binlog为追加写入,通过XID关联实现崩溃恢复机制。

2025-07-02 00:00:28 1061

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除