- 分区表的核心价值在于分区裁剪——优化器根据WHERE条件自动排除无关分区,只扫描必要的数据。但分区裁剪并非自动生效,对分区键使用函数、隐式类型转换、OR条件跨分区、分区键与查询条件不匹配等场景都会导致裁剪失效,查询退化为全表扫描。本文拆解分区裁剪的生效条件与6种失效场景,解析分区锁与表锁的关系,并给出分区维护的实战方法。 分区表的核心价值在于分区裁剪——优化器根据WHERE条件自动排除无关分区,只扫描必要的数据。但分区裁剪并非自动生效,对分区键使用函数、隐式类型转换、OR条件跨分区、分区键与查询条件不匹配等场景都会导致裁剪失效,查询退化为全表扫描。本文拆解分区裁剪的生效条件与6种失效场景,解析分区锁与表锁的关系,并给出分区维护的实战方法。
- 小应用跑在本地一个 .db 文件里,换台机器数据就断了。这篇记一次把 SQLite 换成 MySQL 的完整过程:装什么包、建表语句要改哪些地方、占位符从 ? 换成 %s、数据怎么搬过去,以及连上之后遇到的空连接超时和中文乱码这两个坑。 小应用跑在本地一个 .db 文件里,换台机器数据就断了。这篇记一次把 SQLite 换成 MySQL 的完整过程:装什么包、建表语句要改哪些地方、占位符从 ? 换成 %s、数据怎么搬过去,以及连上之后遇到的空连接超时和中文乱码这两个坑。
- 连接池是应用与数据库之间的第一道关口,配置不当会直接拖垮数据库。连接池配得太大,应用重启时会触发连接风暴,数据库CPU瞬间飙满;连接泄漏会导致连接数持续上涨,最终耗尽数据库连接资源。本文从连接风暴的三种触发场景入手,拆解连接泄漏的隐蔽表现、连接状态异常的排查方法,并给出HikariCP关键参数的实战配置建议。 连接池是应用与数据库之间的第一道关口,配置不当会直接拖垮数据库。连接池配得太大,应用重启时会触发连接风暴,数据库CPU瞬间飙满;连接泄漏会导致连接数持续上涨,最终耗尽数据库连接资源。本文从连接风暴的三种触发场景入手,拆解连接泄漏的隐蔽表现、连接状态异常的排查方法,并给出HikariCP关键参数的实战配置建议。
- 从接手 2 亿行订单表撞上查询慢、DDL 跑不完、备份窗口爆炸切入,先量热数据占比、写入增长、合规保留期三个数,再用时间分区 + 分区裁剪 + pt-archiver 分批归档 + 归档对账把存量清掉,并给出冷热分离三层架构与三个真实踩坑,最后说明归档是清存量、分库分表才是扩流量。 从接手 2 亿行订单表撞上查询慢、DDL 跑不完、备份窗口爆炸切入,先量热数据占比、写入增长、合规保留期三个数,再用时间分区 + 分区裁剪 + pt-archiver 分批归档 + 归档对账把存量清掉,并给出冷热分离三层架构与三个真实踩坑,最后说明归档是清存量、分库分表才是扩流量。
- 很多业务发展到一定阶段,都会遇到同一个瓶颈:单台 MySQL 数据库读写压力集中。后台统计、列表查询、报表导出、接口查询全都打在主库上,一旦流量上涨,主库 CPU 飙升,写入业务就容易卡顿甚至超时。很多中小企业不想投入昂贵的自建数据库集群,华为云 RDS 的只读实例,就是性价比很高的解决方案。今天分享搭建与调优实战经验。一、业务痛点读写耦合:主库既要处理订单、用户提交等写入操作,又要承载大量... 很多业务发展到一定阶段,都会遇到同一个瓶颈:单台 MySQL 数据库读写压力集中。后台统计、列表查询、报表导出、接口查询全都打在主库上,一旦流量上涨,主库 CPU 飙升,写入业务就容易卡顿甚至超时。很多中小企业不想投入昂贵的自建数据库集群,华为云 RDS 的只读实例,就是性价比很高的解决方案。今天分享搭建与调优实战经验。一、业务痛点读写耦合:主库既要处理订单、用户提交等写入操作,又要承载大量...
- 从一条日结 SQL 一夜之间慢了一百倍切入,拆解执行计划漂移的根因:InnoDB 统计信息靠随机采样、变更越阈值就重算、基数估不准、代价模型据此改选全表扫描。给出直方图、采样页数、重建统计等治本手段与索引提示的止血边界,并附三个避坑经验。 从一条日结 SQL 一夜之间慢了一百倍切入,拆解执行计划漂移的根因:InnoDB 统计信息靠随机采样、变更越阈值就重算、基数估不准、代价模型据此改选全表扫描。给出直方图、采样页数、重建统计等治本手段与索引提示的止血边界,并附三个避坑经验。
- 半同步复制解决了异步复制的数据丢失风险,但AFTER_COMMIT和AFTER_SYNC两种等待模式的差异直接决定了故障切换时是否丢数据。MGR基于Paxos协议实现自动选主与脑裂防护,GTID则让主从切换不再依赖手工位点。本文从复制的基本原理出发,拆解MySQL复制的三层机制——异步复制的流程、半同步复制的等待模式、MGR的一致性协议与GTID的全局事务标识,并给出生产环境的选型建议。 半同步复制解决了异步复制的数据丢失风险,但AFTER_COMMIT和AFTER_SYNC两种等待模式的差异直接决定了故障切换时是否丢数据。MGR基于Paxos协议实现自动选主与脑裂防护,GTID则让主从切换不再依赖手工位点。本文从复制的基本原理出发,拆解MySQL复制的三层机制——异步复制的流程、半同步复制的等待模式、MGR的一致性协议与GTID的全局事务标识,并给出生产环境的选型建议。
- MySQL 查询优化可以按这个顺序:先看执行计划EXPLAIN SELECT ...重点关注 type、key、rows、Extra。给 WHERE / JOIN / ORDER BY 常用字段建索引CREATE INDEX idx_user_name ON user(name);建立合适的联合索引INDEX(a, b, c)遵循最左匹配原则。避免索引失效不要对索引列使用函数:WHERE Y... MySQL 查询优化可以按这个顺序:先看执行计划EXPLAIN SELECT ...重点关注 type、key、rows、Extra。给 WHERE / JOIN / ORDER BY 常用字段建索引CREATE INDEX idx_user_name ON user(name);建立合适的联合索引INDEX(a, b, c)遵循最左匹配原则。避免索引失效不要对索引列使用函数:WHERE Y...
- 从运营点了一次列表「末页」卡住二十多秒切入,拆解 LIMIT 大偏移为什么慢、EXPLAIN 的 rows 为什么看不出来,再用覆盖索引与延迟关联、keyset 游标、解耦总数、产品层筛选、宽索引五种方案对比,最后给出该改 SQL 还是该改产品的分水岭判断。 从运营点了一次列表「末页」卡住二十多秒切入,拆解 LIMIT 大偏移为什么慢、EXPLAIN 的 rows 为什么看不出来,再用覆盖索引与延迟关联、keyset 游标、解耦总数、产品层筛选、宽索引五种方案对比,最后给出该改 SQL 还是该改产品的分水岭判断。
- InnoDB的并发控制核心就是MVCC——通过Undo Log版本链和Read View实现“读不阻塞写、写不阻塞读”。本文拆解版本链的构建方式、Read View的四个核心字段、RC与RR隔离级别下Read View生成时机的差异、快照读与当前读的底层区别,以及长事务导致undo log膨胀的根因。 InnoDB的并发控制核心就是MVCC——通过Undo Log版本链和Read View实现“读不阻塞写、写不阻塞读”。本文拆解版本链的构建方式、Read View的四个核心字段、RC与RR隔离级别下Read View生成时机的差异、快照读与当前读的底层区别,以及长事务导致undo log膨胀的根因。
- 从一次大促超卖事故切入,拆解"先查后改"为什么会在并发下超卖、原子 UPDATE 的当前读与行锁原理、热点行的分桶拆解方案、Redis 预扣的一致性代价,以及隔离级别和索引类型如何影响锁范围,最后给出库存扣减的正确性优先顺序。 从一次大促超卖事故切入,拆解"先查后改"为什么会在并发下超卖、原子 UPDATE 的当前读与行锁原理、热点行的分桶拆解方案、Redis 预扣的一致性代价,以及隔离级别和索引类型如何影响锁范围,最后给出库存扣减的正确性优先顺序。
- 集群与分布式是数据库架构选型中最容易被混淆的一对概念。集群通过复制解决高可用与并发压力,分布式通过拆分解决写入瓶颈与海量数据。本文系统拆解两者的本质差异与适用边界,对比主从复制、读写分离集群、共享存储集群三条技术路线的原理与代价,给出可落地的选型决策框架,并结合共享存储集群的缓存融合机制与实测数据,分析国产化环境下核心交易系统的集群落地路径。 集群与分布式是数据库架构选型中最容易被混淆的一对概念。集群通过复制解决高可用与并发压力,分布式通过拆分解决写入瓶颈与海量数据。本文系统拆解两者的本质差异与适用边界,对比主从复制、读写分离集群、共享存储集群三条技术路线的原理与代价,给出可落地的选型决策框架,并结合共享存储集群的缓存融合机制与实测数据,分析国产化环境下核心交易系统的集群落地路径。
- InnoDB以16KB的页为单位管理数据,但很多人只知道“页分裂会降低性能”,不清楚页分裂在什么条件下触发、页合并何时发生、填充因子如何影响空间利用率。本文从数据页的物理结构出发,拆解页分裂与页合并的触发机制、顺序插入与随机插入的性能差异、填充因子的作用与调优策略,帮你理解InnoDB存储引擎最底层的运行逻辑。 InnoDB以16KB的页为单位管理数据,但很多人只知道“页分裂会降低性能”,不清楚页分裂在什么条件下触发、页合并何时发生、填充因子如何影响空间利用率。本文从数据页的物理结构出发,拆解页分裂与页合并的触发机制、顺序插入与随机插入的性能差异、填充因子的作用与调优策略,帮你理解InnoDB存储引擎最底层的运行逻辑。
- 从一次接口超时告警切入,把一条 SQL 在 MySQL 里的完整路径拆成七段(连接器、查询缓存、解析器、预处理器、优化器、执行器、存储引擎),用 optimizer_trace 和 Handler_read 变量判断慢在哪一段,并给出慢查询排查的顺序与三个避坑经验。 从一次接口超时告警切入,把一条 SQL 在 MySQL 里的完整路径拆成七段(连接器、查询缓存、解析器、预处理器、优化器、执行器、存储引擎),用 optimizer_trace 和 Handler_read 变量判断慢在哪一段,并给出慢查询排查的顺序与三个避坑经验。
- 选主键时,很多人会在“自增ID”和“业务复合主键”之间犹豫。复合主键看起来更“自然”——订单明细用(订单ID,商品ID),用户角色用(用户ID,角色ID)。但在InnoDB的索引组织表结构下,复合主键会带来索引膨胀、二级索引体积暴涨、写入性能下降等隐藏代价。本文从InnoDB的存储结构出发,拆解复合主键和自增主键的物理差异,给出可量化的选型依据。 选主键时,很多人会在“自增ID”和“业务复合主键”之间犹豫。复合主键看起来更“自然”——订单明细用(订单ID,商品ID),用户角色用(用户ID,角色ID)。但在InnoDB的索引组织表结构下,复合主键会带来索引膨胀、二级索引体积暴涨、写入性能下降等隐藏代价。本文从InnoDB的存储结构出发,拆解复合主键和自增主键的物理差异,给出可量化的选型依据。
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第五期2026/09/04 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;蒋春阳-华为云AI开发者案例开发专家
本期直播内容: AI工具体验营 · 第5-8课连讲。Agent-Team 多智能体协作完成毕业设计实践
回顾中 -
华为云开发者AI素养ClassRoom·第六期2026/09/08 周二 19:00-20:00
樊渊-2026华为软件挑战赛冠军
高手来了:看软挑高手解析二维排样问题—从工业难题到算法突破
回顾中
热门标签