MySQL技术文章
-
MySQL JSON_VALUE 对缺少路径和 JSON null 都可能返回 SQL NULL。本文用 JSON_CONTAINS_PATH、JSON_TYPE 和 ON EMPTY 哨兵值区分路径缺失、JSON null、空字符串与 SQL NULL 文档。170 收藏 -
MySQL 的 REGEXP_LIKE 匹配中文时,结果可能受到表达式、模式、列定义和连接排序规则影响。本文给出 utf8mb4 显式配置、分层排查 SQL 与回归样例。169 收藏 -
MySQL 按业务时区统计日期时,不能先对 UTC 时间取 DATE 再转换。本文用 CONVERT_TZ 处理跨午夜记录,并说明半开区间、命名时区表和 NULL 排查方法。168 收藏 -
数据库 · MySQL | 6天前 | MySQL · 数据类型 · JSON · MySQL MEMBER OF MySQL JSON 数组成员判断 MEMBER OF 类型不匹配 JSON 数字字符串区别 MySQL JSON 查询
MySQL MEMBER OF 判断 JSON 数组成员时,数字、字符串和 JSON 对象不是同一种值。本文用最小样例说明类型不匹配的原因,并给出按数据域修正查询值、处理 NULL 与核对结果的办法。167 收藏 -
从 SHOW ENGINE INNODB STATUS、innodb_print_all_deadlocks 和 Performance Schema 的锁表与历史语句中,定位 MySQL 事务死锁对应的具体 SQL。167 收藏 -
MySQL EXPLAIN FORMAT=JSON 的嵌套循环成本要结合 nested_loop、rows_examined_per_scan、rows_produced_per_join 和 cost_info.prefix_cost 阅读。本文用一条 JOIN 示例说明如何找出成本被放大的连接分支,并区分优化器估算与实际耗时。166 收藏 -
MySQL 递归 CTE 的安全边界不能只依赖默认报错。本文用层级树示例区分业务深度、cte_max_recursion_depth、递归 LIMIT 和执行超时,并说明如何排查无限展开与环形数据。165 收藏 -
用一个订单明细 XML 示例讲清 MySQL 8.4 LOAD XML 的行识别、属性与标签映射、LOCAL 风险及导入后核对方法。161 收藏 -
从 MySQL 的 LATEST DETECTED DEADLOCK 中区分两条事务已持有的锁和正在等待的锁,再结合表名、索引名与 SQL 访问路径还原相反加锁顺序,并给出修复后的验证方法。161 收藏 -
MySQL REGEXP_LIKE 匹配结果不稳定时,先拆开字符集、排序规则、大小写和反斜杠四个边界。本文给出一套可复现的排查 SQL、修复写法与验收清单。157 收藏 -
MySQL Invisible Index 不需要先删索引就能做灰度验证。本文从索引状态、默认优化计划、会话级 use_invisible_indexes 和性能证据四个方面说明配置、对照与回滚方法。156 收藏 -
批量 INSERT 成功后,mysql_affected_rows() 只能给出影响行数,mysql_info() 还能返回 Records、Duplicates、Warnings 等细节。本文用 MySQL 8.4 C API 示例说明两者如何配合,以及 CLIENT_FOUND_ROWS 什么时候会改变判断。152 收藏 -
MySQL 覆盖索引通过让过滤、排序和结果列落在同一索引中,减少回到聚簇数据页读取整行的机会。本文以订单列表为例,讲解投影收窄、联合索引设计、EXPLAIN 验收及写入成本控制。148 收藏 -
MySQL Enterprise Audit 默认全量记录时,审计日志很快会被健康检查和后台账号淹没。本文用 audit_log_filter_set_filter 按事件、用户和查询统计字段收窄范围,并给出安装前提、赋值、回滚与验收方法。145 收藏 -
MySQL 角色并不等于自动最小权限:默认角色、通配符授权和库级权限叠加后,账号可能读到不该读的数据。本文用实际授权链拆解越权路径,说明 partial revokes 的边界,并给出可回滚、可审计的验收清单。145 收藏