MySQL技术文章
-
数据库 · MySQL | 1天前 | MySQL · 连接池 · 故障排查 · MySQL连接池 CURRENT_ROLE MySQL默认角色 SET DEFAULT ROLE SET ROLE DEFAULT
MySQL 的 SET DEFAULT ROLE 只定义登录或执行 SET ROLE DEFAULT 时应激活的角色,不会追溯修改已打开连接。本文给出当前会话修复、账户核对、连接池刷新和登录变量检查方法。265 收藏 -
MySQL 8.4 的普通 JSON_ARRAYAGG 不保证元素顺序,也没有内置 LIMIT。本文用 ROW_NUMBER、窗口 ORDER BY 和完整窗口帧生成每组固定数量、顺序稳定的 JSON 数组,并说明常见误区。265 收藏 -
数据库 · MySQL | 3星期前 | MySQL · 执行计划 · 慢查询 · MySQL EXPLAIN ANALYZE MySQL估算行数实际行数 MySQL执行计划耗时 MySQL慢查询诊断 MySQL TREE执行计划
从 EXPLAIN 基线到 EXPLAIN ANALYZE 实测,按节点对比估算行数、实际行数、迭代耗时和 loops,定位统计信息与访问路径偏差。262 收藏 -
MySQL JSON_OVERLAPS 可以配合 InnoDB 多值索引优化 JSON 数组相交查询,但必须匹配索引表达式、数组类型和查询路径,并用 EXPLAIN 确认优化器实际选用了索引。255 收藏 -
MySQL LOAD DATA 导入 TSV 时,字段内制表符要靠引号边界或反斜杠转义表达;本文给出两种写法,并用 HEX、CHAR(9) 和 SHOW WARNINGS 验证结果。253 收藏 -
数据库 · MySQL | 5天前 | MySQL · 事务 · InnoDB · 锁定读 MySQL NOWAIT FOR UPDATE NOWAIT FOR SHARE NOWAIT InnoDB行锁 ERROR 3572
MySQL 锁定读默认会等待冲突行锁,追加 NOWAIT 后可立即返回 3572 错误。本文用双连接示例说明 FOR UPDATE NOWAIT 的写法、事务回滚、错误处理,以及它与默认等待和 SKIP LOCKED 的边界。253 收藏 -
MySQL 的普通派生表不能引用同一 FROM 子句里的前置表;在派生表前加 LATERAL,并把被引用表放在左侧,就能为每个外层行计算相关结果。252 收藏 -
用一组混合 JSON 数据拆开 JSON_TABLE 的缺失路径、类型转换、默认值与报错边界,给出可直接改写的 SQL 配置方法。251 收藏 -
MySQL LAG 可以在每个分组内取上一行值,再用当前值与上一值比较标出状态切换或连续数值变化。本文给出窗口定义、变化点筛选、NULL 处理和排序稳定性的完整写法。248 收藏 -
从年龄计算的失败 DDL 出发,解释 MySQL 生成列的确定性要求,并对比动态查询、VIRTUAL、STORED 和生成列索引的选择。247 收藏 -
围绕 (tenant_id, status, created_at) 示例,说明跳过复合索引最左列后普通访问、Skip Scan、EXPLAIN 判断和索引调整方案。244 收藏 -
用一套固定清单读取 MySQL EXPLAIN FORMAT=JSON:先定位 query_block 和表节点,再联读访问类型、索引、估算行数、过滤条件、排序与成本,最后用真实执行证据验证优化结果。243 收藏 -
围绕 mysqldump 讲清 InnoDB 一致性导出、对象清单、恢复先后和结果核对,帮助你规划一份真正可恢复的 MySQL 逻辑备份。235 收藏 -
MySQL 的 COUNT(DISTINCT) 只统计非 NULL 唯一值。本文用订单示例区分已知客户数、缺失行数和包含 NULL 桶的唯一值数量,并给出分组统计与子查询写法。232 收藏 -
围绕一条真实列表查询,拆分过滤、排序和返回字段,给出 MySQL 复合覆盖索引的布局方法、EXPLAIN 检查项,以及范围条件和写入成本的上线边界。228 收藏