MySQL技术文章
-
MySQL NTILE 按排序把结果行尽量均匀地分入固定桶。通过十行样例说明余数、并列值、分区和外层筛选,并比较人数分桶与固定阈值分档的适用条件。487 收藏 -
MySQL EXPLAIN ANALYZE 会实际执行目标语句。本文用 KILL QUERY、SHOW PROCESSLIST 和权限边界说明如何安全停止长时间分析,并确认连接是否仍可复用。134 收藏 -
围绕 WHERE 等值前缀、混合 ASC/DESC 排序和稳定分页,说明 MySQL 降序索引的复合列顺序、创建方式与 EXPLAIN 判断方法。434 收藏 -
MySQL histogram 通过单列分布改善偏斜数据的过滤估算。用隔离样例说明桶、采样、手动维护及计划对照,区分估算准确与实际提速。287 收藏 -
数据库 · MySQL | 3星期前 | MySQL · JSON · 数据库 · 数据校验 · mysql JSON Schema JSON_SCHEMA_VALID JSON 校验 CHECK 约束
MySQL 的 JSON_SCHEMA_VALID 返回 1、0、NULL 和错误分别代表什么?本文用原创 SQL 示例拆开 required、type、范围校验与 CHECK 约束的边界,并说明如何用验证报告定位失败字段。180 收藏 -
用 MySQL JSON_STORAGE_SIZE 读取 JSON 文档的二进制存储字节数,区分 JSON 文本长度、JSON 列原始空间与部分更新后的可复用空间,并说明 NULL、非法 JSON 和整表磁盘估算的边界。330 收藏 -
MySQL 排序规则变化后出现等值结果不同、排序顺序变化或索引计划异常时,按列定义、连接会话、EXPLAIN 和 WEIGHT_STRING() 逐层定位,并给出保留列属性的统一迁移方案。158 收藏 -
MySQL 逻辑备份的并发写入窗口应区分 InnoDB DML、相关 DDL 和非事务表。本文说明单事务快照的适用条件、MySQL 8.4 工具兼容性,以及独立产物、失败保留和业务交接安排。444 收藏 -
MySQL 复制延迟不能只看一个时间差。本文按 replica_parallel_workers、复制通道状态、协调线程和工作线程逐层分析,帮助定位并行度不足、单线程拖尾与重试错误。488 收藏 -
多个 worker 从 MySQL InnoDB 任务表取件时,普通 FOR UPDATE 可能互相等待。本文用最小 SQL 说明 SKIP LOCKED 如何跳过已锁行、如何在短事务中更新状态,以及 NOWAIT、锁释放和失败重试的边界。239 收藏 -
MySQL 长事务读到旧值,常与隔离级别和快照创建时机有关。本文用双会话示例对比 RR 首次一致性读、显式快照与 RC 每次读,并说明读类型、自身修改和事务结束的边界。214 收藏 -
MySQL 查询计划与预期不一致时,可在当前会话开启 optimizer trace,从 INFORMATION_SCHEMA.OPTIMIZER_TRACE 阅读候选访问路径、代价和完整性字段,再结合 EXPLAIN 做判断。466 收藏 -
数据库 · MySQL | 3星期前 | MySQL · 执行计划 · 查询优化 · 分区表 · mysql partition pruning 分区裁剪 RANGE COLUMNS EXPLAIN partitions
MySQL 分区裁剪看的是分区键条件能否被优化器化简为可判断的常量或范围。本文从分区定义、EXPLAIN 的 partitions 列、函数表达式和隐式类型转换入手,给出定位条件写法的排障路径。124 收藏 -
MySQL 8.0.13 及以上可以用函数索引直接索引 DATE(created_at) 的结果,但索引定义必须使用双层括号,查询表达式也要保持一致。本文从创建、命中判断和生成列替代三个方面说明日期表达式查询的落地写法。451 收藏 -
MySQL 不可见索引可以在不直接删除索引的情况下测试优化器计划:先记录索引和 EXPLAIN,再将普通二级索引设为 INVISIBLE,最后用 use_invisible_indexes 做单条语句对照,依据计划、性能和约束影响决定恢复或删除。332 收藏