MySQL技术文章
-
整理 MySQL GTID 复制切换前的核对方法,区分接收集合与执行集合,用 GTID_SUBSET 和 GTID_SUBTRACT 判断候选副本是否覆盖主库事务,并保留回退依据。469 收藏 -
递归 CTE 的安全上限不能只依赖 cte_max_recursion_depth。本文从故障场景出发,拆分业务深度、结果行数和执行时间三种边界,并给出 MySQL 的配置与复查方法。226 收藏 -
MySQL LAG 可以在每个分组内取上一行值,再用当前值与上一值比较标出状态切换或连续数值变化。本文给出窗口定义、变化点筛选、NULL 处理和排序稳定性的完整写法。248 收藏 -
MySQL 分区裁剪失效,常见原因不是分区本身无效,而是 WHERE 条件没有暴露可识别的分区表达式。本文从函数包裹、隐式转换和 OR 条件三个边界出发,给出按分区键改写查询的方法,并说明 EXPLAIN PARTITIONS 能确认什么。169 收藏 -
MySQL CREATE TABLE LIKE 会复制源表的列属性和索引,并保留生成列、表达式默认值与 CHECK 约束;但外键及部分目录表选项不会复制。本文用最小 SQL 说明保留边界,并给出结构核对方法。331 收藏 -
MySQL 8.4 的普通 JSON_ARRAYAGG 不保证元素顺序,也没有内置 LIMIT。本文用 ROW_NUMBER、窗口 ORDER BY 和完整窗口帧生成每组固定数量、顺序稳定的 JSON 数组,并说明常见误区。265 收藏 -
对比 MySQL CTE 合并与物化的执行方式,结合聚合查询、MERGE/NO_MERGE 提示和 EXPLAIN 检查,说明选择条件与常见边界。392 收藏 -
介绍 MySQL EXPLAIN FORMAT=JSON 中 cost_info 的层级、字段含义和 JSON_EXTRACT 提取方法,说明如何结合访问类型、扫描行数与版本边界判断查询优化方向。325 收藏 -
从范围条件估算失真入手,讲清 MySQL 直方图的适用场景、创建语法、统计查看、EXPLAIN 检查以及更新和删除边界。478 收藏 -
数据库 · MySQL | 1星期前 | MySQL · 执行计划 · 查询优化 MySQL optimizer_trace 连接顺序 considered_execution_plans plan_prefix
EXPLAIN 只显示最终连接顺序,optimizer_trace 则能保留候选前缀、访问路径、累计成本与剪枝原因。本文说明如何读取 considered_execution_plans、plan_prefix、best_access_path 和 chosen,并用统计信息复查优化器判断。137 收藏 -
数据库 · MySQL | 1星期前 | MySQL · 连接池 · 故障排查 · MySQL连接池 CURRENT_ROLE MySQL默认角色 SET DEFAULT ROLE SET ROLE DEFAULT
MySQL 的 SET DEFAULT ROLE 只定义登录或执行 SET ROLE DEFAULT 时应激活的角色,不会追溯修改已打开连接。本文给出当前会话修复、账户核对、连接池刷新和登录变量检查方法。265 收藏 -
介绍 MySQL 8.4 资源组隔离报表查询 CPU 的实用配置:创建低优先级用户组,按会话、线程或单条语句分配,核对线程归属,并说明它与只读副本、SQL 优化及硬配额的边界。396 收藏 -
MySQL Clone 恢复后不需要重新猜复制起点。本文说明如何从 performance_schema.clone_status 读取一致性 GTID 或文件位点,分别衔接复制通道,并处理配置未克隆、日志已清理和多线程中继日志恢复失败等问题。139 收藏 -
MySQL 多值索引会把 JSON 数组元素拆成多条索引记录,因此能加速成员判断,却不能从索引还原完整数组。本文解释回表原因、EXPLAIN 误区,并给出生成列与关系化拆分方案。336 收藏 -
MySQL 生成列索引未命中表达式查询时,重点检查生成列定义、表达式结构、结果类型、JSON_UNQUOTE 和 EXPLAIN 计划,区分匹配失败与成本选择。286 收藏