MySQL技术文章
-
MySQL 字符串比较结果异常时,按连接、列和表达式三层定位 collation,再用查询级 COLLATE 或列级配置完成修复。326 收藏 -
MySQL Instant DDL 不是全局开关。本文用 ALGORITHM=INSTANT、InnoDB 元数据和 TOTAL_ROW_VERSIONS 排查表结构限制,并说明何时改用 INPLACE 或 COPY。486 收藏 -
MySQL 分区裁剪不需要单独开关,关键是分区表达式与 WHERE 条件能否推导出有限的分区范围。本文用按日期 RANGE 分区的订单表说明半开区间写法,并通过 EXPLAIN 的 partitions、rows、type 和 key 排查裁剪与分区内索引访问。329 收藏 -
MySQL 的 REGEXP_LIKE 匹配中文时,结果可能受到表达式、模式、列定义和连接排序规则影响。本文给出 utf8mb4 显式配置、分层排查 SQL 与回归样例。169 收藏 -
用一个订单、商品和批次的 JSON 示例,说明 MySQL JSON_TABLE 的 NESTED PATH 相对路径、空数组补 NULL、类型处理和重复行排查方法。181 收藏 -
MySQL 递归 CTE 不退出或结果越界时,检查递归成员的 WHERE 条件,再用递归深度、执行时间和 LIMIT 做安全保护。338 收藏 -
通过订单累计示例解释 MySQL 窗口函数 ROWS 与 RANGE 的边界差异,定位并列排序值、默认帧、NULL 和类型限制导致的结果异常。387 收藏 -
MySQL CTE 变慢时,先确认优化器选择了合并还是物化,再用 NO_MERGE、MERGE 和 SESSION 级 derived_merge 做对照,最后用 optimizer_trace 找到物化代价来自哪里。406 收藏 -
MySQL 直方图用于补充非均匀分布列的选择性估计。本文用 ANALYZE TABLE 配置桶数,从 COLUMN_STATISTICS 检查采样与更新时间,再用 EXPLAIN 对照实际行数并给出安全回退方法。195 收藏 -
MySQL Invisible Index 不需要先删索引就能做灰度验证。本文从索引状态、默认优化计划、会话级 use_invisible_indexes 和性能证据四个方面说明配置、对照与回滚方法。156 收藏 -
MySQL 函数索引不生效时,先检查双括号、表达式是否一致、结果类型是否相同,再用 EXPLAIN 区分不匹配与优化器成本选择。412 收藏 -
MySQL JSON 列不能直接建立普通索引时,可用生成列提取稳定标量再建索引,并通过 EXPLAIN 排查路径、类型和命中问题。172 收藏 -
MySQL 连接池空闲连接被 wait_timeout 或中间网络设备断开后,不要只靠重试。本文从服务端超时、连接池回收、PingContext 和事务安全四个层面给出恢复方案。311 收藏 -
讲清 MySQL LOAD DATA 导入 TSV 文件时 FIELDS TERMINATED BY、FIELDS ESCAPED BY、LINES TERMINATED BY 与 \N NULL 标记的对应关系,并给出列顺序、CRLF、字符集和 LOCAL 排障方法。352 收藏 -
MySQL utf8mb4 排序规则不是只影响 ORDER BY,也会改变字符串的相等判断,从而让唯一索引出现新增冲突或放宽边界。本文用 INFORMATION_SCHEMA、COLLATE 对比和迁移前分组检查,说明如何安全判断与处理。431 收藏