MySQL技术文章
-
用 MySQL LAG 按稳定日期顺序取上一条记录,配合 PARTITION BY、偏移量和 default 处理分区首行,再用 DATEDIFF 比较相邻日期。166 收藏 -
MySQL 多值索引没有可直接设置的每行数组元素数参数。本文区分业务长度约束与 65221 字节引擎硬边界,演示 JSON_LENGTH、CHECK 和超限后的拆表判断。166 收藏 -
MySQL 递归 CTE 的安全边界不能只依赖默认报错。本文用层级树示例区分业务深度、cte_max_recursion_depth、递归 LIMIT 和执行超时,并说明如何排查无限展开与环形数据。165 收藏 -
MySQL JSON_TABLE 展开嵌套文档时,关键是把根数组、相对 NESTED PATH、缺失子数组和 FOR ORDINALITY 分开处理。本文用一份多层 JSON 说明如何稳定展开并避免行数误判。165 收藏 -
MySQL 查询 JSON 数组成员时,可以用 InnoDB 多值索引把数组元素展开为可检索的索引记录。本文从查询写法、CAST ARRAY 建索引、EXPLAIN 验证和空值边界四个方面说明落地方法。164 收藏 -
用 MySQL WITH RECURSIVE 查询组织结构树,掌握锚点、递归连接、路径类型、停止条件和深度保护。164 收藏 -
MySQL JSON_STORAGE_SIZE 统计的是解析后的二进制 JSON 表示,不是 JSON 文本字符数或字节数。本文用对比查询和部分更新示例说明三种长度的差异,并给出 JSON_STORAGE_FREE 的排查方法。164 收藏 -
MySQL 直方图适合补充低基数列的分布信息,尤其是没有合适索引、但过滤值明显不均匀的查询。本文从 UPDATE HISTOGRAM、采样率、bucket 数量、AUTO UPDATE 和 EXPLAIN 判断五个方面说明如何配置及其边界。163 收藏 -
MySQL LOCK INSTANCE FOR BACKUP 适合把在线备份的关键阶段包在一个受控窗口中:DML 可以继续,但文件创建、重命名、删除以及部分会改变实例状态的操作会被阻塞。本文说明权限、等待时间、专用会话、释放责任和常见边界。163 收藏 -
用 MySQL JSON_TABLE 把 JSON 数值与日期映射到关系表列时,重点处理 DECIMAL 截断、缺失字段和对象数组转换错误。本文给出原创 SQL 示例、SHOW WARNINGS 检查方式和上线前清单。162 收藏 -
用一个订单明细 XML 示例讲清 MySQL 8.4 LOAD XML 的行识别、属性与标签映射、LOCAL 风险及导入后核对方法。161 收藏 -
从 MySQL 的 LATEST DETECTED DEADLOCK 中区分两条事务已持有的锁和正在等待的锁,再结合表名、索引名与 SQL 访问路径还原相反加锁顺序,并给出修复后的验证方法。161 收藏 -
从迁移后才暴露的视图错误入手,按时间线、CHECK TABLE、SHOW CREATE VIEW 和底层表结构逐层定位失效依赖,再做反向确认。161 收藏 -
MySQL DENSE_RANK 可让同一分组内的同分记录共享名次,并让后续排名连续。本文用派生表处理前 N 名筛选,说明 PARTITION BY、ORDER BY 以及 DENSE_RANK、RANK、ROW_NUMBER 的边界。161 收藏 -
MySQL 批量写入没有通用的最佳事务行数。本文用固定数据集对比 100 到 10000 行事务,采集吞吐、批次与提交延迟、redo 增量,并注入失败测量回滚时间,最终按业务门槛选出兼顾吞吐与恢复成本的最小事务。160 收藏