MySQL技术文章
-
用 InnoDB 任务表实现并发取件时,NOWAIT 适合立即失败,SKIP LOCKED 适合跳过占用行。本文给出事务边界、SQL 写法、错误处理和复制安全边界。360 收藏 -
MySQL 连接属性不会自动把会话送进资源组。本文用 session_connect_attrs 识别连接,再通过 SET RESOURCE GROUP 完成调度,并给出线程核对、权限与连接池复用的配置方法。388 收藏 -
MySQL 直方图不会因为每次写入自动按固定周期刷新。本文用 COLUMN_STATISTICS 判断数据漂移,比较手动刷新与 AUTO UPDATE,并给出采样率、执行计划和回滚检查清单。222 收藏 -
整理 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 | 17小时前 | 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 收藏