MySQL技术文章
-
MySQL 开启 ONLY_FULL_GROUP_BY 后,ANY_VALUE 可以解决哪些非聚合列报错?本文用订单分组示例说明它的语义、风险边界和核对方法。371 收藏 -
用 MySQL EVENT 做定时清理时,真正容易漏掉的是全局启用状态、会话时区和执行记录。本文用一张清理任务表说明如何配置、验证、留痕与安全停用。132 收藏 -
MySQL 隐形索引适合用来验证一个索引是否仍被优化器需要。本文以订单查询为例,演示如何将索引设为不可见、用 EXPLAIN 对比计划、观察线上指标,并在结果不理想时快速恢复。278 收藏 -
批量更新从几百行扩大到几十万行后,慢点往往不在 UPDATE 语句本身,而在索引维护、锁持有时间和事务日志压力。本文用订单归档场景拆开原因,并给出按主键分批提交的验收边界。291 收藏 -
报表把一组订单号拼成一列时,GROUP_CONCAT 可能悄悄只返回前 1024 字节。本文从默认上限、会话级调整、字符数与字节数验收几处说明截断原因,并给出不把参数盲目调大的检查方法。353 收藏 -
解释 MySQL 8.4 全局变量与连接会话变量的初始化关系,使用会话状态跟踪观察赋值变化,并给出连接池复用旧会话变量时的核对、修复与回归方法。245 收藏 -
MySQL 事件已经创建却没有按时执行,通常要分开核对全局调度器、事件自身状态、创建时区和 DEFINER 权限。本文用一个可复查的小项目演示排查顺序,并补上重复触发与错误日志边界。452 收藏 -
MySQL 8.4 事件调度器适合承接数据库内的周期任务。本文用订单归档场景讲清 CREATE EVENT、执行记录、权限与停用检查,避免任务建好了却没人知道是否真的运行。414 收藏 -
MySQL WITH RECURSIVE 查询层级数据时,真正需要防的是环路和无界展开。本文用组织架构示例拆开终止条件、递归深度上限、路径去重和结果核对。472 收藏 -
数据库 · MySQL | 1个月前 | MySQL · 高可用 · 运维 · 性能排查 · mysql MySQL 8.4 复制延迟 replica_parallel_workers replication_applier_status_by_worker
MySQL 8.4 复制延迟不能只看 Seconds_Behind_Source。本文按接收、协调器、worker 和事务提交四段拆分现场,结合 SHOW REPLICA STATUS 与 Performance Schema 指标判断是大事务、并行度不足还是单个 worker 卡住。393 收藏 -
MySQL 分区表并不等于查询一定只扫少量数据。本文从 RANGE 分区的日期条件入手,用 EXPLAIN 的 partitions 字段确认分区裁剪是否发生,再补上函数包裹、隐式转换、统计信息和维护检查等容易误判的边界。140 收藏 -
INSERT IGNORE 不只是忽略重复键,它还可能把数据截断、非法值等错误降级成告警。本文用可复现实验拆开行为边界,并给出导入前后检查清单。269 收藏 -
MySQL 主从延迟不能只看 Seconds_Behind_Master。本文从复制线程状态、Relay_Log_Pos、Performance Schema 事务等待和大事务四个层次排查,并给出可回退的处理顺序。468 收藏 -
EXPLAIN 的 filtered 很低不等于索引失效。本文用可复现实验拆开 rows、filtered、实际扫描行数与统计信息之间的关系,给出索引、ANALYZE TABLE 和回归验证的判断顺序。205 收藏 -
MySQL 表出现重复审计记录时,不要先删触发器。本文从 SHOW TRIGGERS、SHOW CREATE TRIGGER 和最小写入复现入手,区分多触发器、执行时机、递归写入与连接重试造成的重复。425 收藏