MySQL技术文章
-
从范围条件估算失真入手,讲清 MySQL 直方图的适用场景、创建语法、统计查看、EXPLAIN 检查以及更新和删除边界。478 收藏 -
数据库 · MySQL | 2小时前 | MySQL · 执行计划 · 查询优化 MySQL optimizer_trace 连接顺序 considered_execution_plans plan_prefix
EXPLAIN 只显示最终连接顺序,optimizer_trace 则能保留候选前缀、访问路径、累计成本与剪枝原因。本文说明如何读取 considered_execution_plans、plan_prefix、best_access_path 和 chosen,并用统计信息复查优化器判断。137 收藏 -
数据库 · MySQL | 12小时前 | 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 收藏 -
从树形执行计划的 Materialize、临时子查询表和自动去重索引节点,判断 MySQL 是否真正采用了子查询物化。121 收藏 -
MySQL NOWAIT 不等待行锁,遇到争用会立即返回错误。本文从事务边界、索引范围和业务语义三方面设计快速降级,区分 SKIP LOCKED、普通读取与稍后重试。403 收藏 -
MySQL 递归 CTE 需要同时防止层级过深与父子路径成环。本文给出携带 depth 和分隔 path 的安全查询模板,并补充递归上限、查询超时、终止查询、回滚和复盘清单。275 收藏 -
MySQL JSON_TABLE 展开多层数组的关键,是让每个 NESTED PATH 相对父级行源继续匹配,并把父级标量列定义在对应 COLUMNS 作用域中。本文用订单、商品、批次三级 JSON 给出完整 SQL,解释父级字段重复、序号列、空数组补 NULL 与兄弟子句非笛卡尔积等边界。137 收藏 -
MySQL 8.4 与当前 9.7 会解析窗口帧 EXCLUDE,却在执行时直接报错。本文解释 CURRENT ROW、GROUP、TIES 对移动聚合集合的标准语义,并给出在 MySQL 中用 SUM、COUNT、NULLIF 和显式同值行规则改写的可靠方法。126 收藏 -
MySQL Histogram 统计信息不会随每次数据变更自动持续更新,过期后可能让优化器误判过滤率、rows 和访问路径。本文用 COLUMN_STATISTICS、EXPLAIN 与 ANALYZE TABLE 给出判断、重建和回滚边界。145 收藏 -
MySQL 不可见索引适合在删除二级索引前做可回退验证:先记录查询计划和工作负载基线,再切换 INVISIBLE,通过 EXPLAIN、Performance Schema 与慢查询日志对比影响,最后按业务阈值恢复可见或进入删除评审。422 收藏 -
Optimizer Trace 适合解释 MySQL 优化器为什么选择某个索引、访问方式或连接顺序。本文给出当前会话抓取、读取决策节点、识别追踪不完整和补充运行时验证的实操方法。480 收藏