MySQL技术文章
-
讲解 MySQL 列直方图随数据分布变化失真后如何检查 COLUMN_STATISTICS,并用 ANALYZE TABLE UPDATE HISTOGRAM 重新采样,兼顾桶数、MySQL 8.4 自动更新和 EXPLAIN 验收。441 收藏 -
MySQL Skip Scan 不是复合索引的默认补救方案。本文用单表覆盖索引、前缀等值条件、后续范围条件和 EXPLAIN 结果,整理判断它是否会被优化器采用的步骤。413 收藏 -
通过会话级 optimizer_switch 对比 use_invisible_indexes 开关,验证不可见索引是否进入 MySQL 查询计划,并给出恢复设置与上线判断边界。283 收藏 -
针对日期分区查询中 DATE、YEAR 等函数包裹分区键的场景,给出半开区间改写、EXPLAIN 验证、时区边界与不适用条件。224 收藏 -
迁移 MySQL utf8mb4 排序规则前,系统检查字符字段、索引、唯一键、外键、生成列与尾部空格语义,提前发现重复值和兼容性风险。319 收藏 -
从 InnoDB 死锁日志还原事务等待环,对应索引和 SQL 访问路径,并用统一锁顺序、缩小扫描范围与事务重试降低复发。401 收藏 -
通过重复排序值和移动聚合案例说明 MySQL 窗口函数中 ROWS 与 RANGE 的结果差异,解释默认框架、peer rows、稳定排序键以及数值和时间范围的选择方法。394 收藏 -
MySQL JSON_OVERLAPS 用于判断两个 JSON 文档是否存在共同元素,适合筛选标签、权限或适用范围数组。本文给出查询写法,并说明 JSON_CONTAINS、类型精确匹配、NULL、嵌套数组和 InnoDB 多值索引的边界。376 收藏 -
用一套固定清单读取 MySQL EXPLAIN FORMAT=JSON:先定位 query_block 和表节点,再联读访问类型、索引、估算行数、过滤条件、排序与成本,最后用真实执行证据验证优化结果。243 收藏 -
讲清 MySQL 函数索引与生成列索引的选择、JSON 表达式类型边界,以及用 EXPLAIN 检查表达式结果是否真正匹配。228 收藏 -
通过 MySQL Optimizer Trace 查看候选索引、估算行数、成本与最终选择原因,掌握同一会话开启、读取和关闭追踪的方法。500 收藏 -
MySQL 的普通派生表不能引用同一 FROM 子句里的前置表;在派生表前加 LATERAL,并把被引用表放在左侧,就能为每个外层行计算相关结果。252 收藏 -
说明 MySQL Hash Join 的构建端、join_buffer_size、多个连接缓冲和并发放大关系,并给出执行计划判断、磁盘溢写识别与参数调整建议。488 收藏 -
MySQL 查询 JSON 数组成员时,可以用 InnoDB 多值索引把数组元素展开为可检索的索引记录。本文从查询写法、CAST ARRAY 建索引、EXPLAIN 验证和空值边界四个方面说明落地方法。164 收藏 -
用 MySQL 资源组把批处理线程绑定到指定 VCPU,并结合线程优先级、会话指派和平台限制做可靠的 CPU 资源隔离。303 收藏