MySQL技术文章
-
数据库 · MySQL | 3天前 | MySQL · InnoDB · MySQL锁等待 performance_schema.data_lock_waits data_locks锁对象 InnoDB事务阻塞 锁等待链定位
从 data_lock_waits 和 data_locks 还原等待事务、阻塞事务及锁对象,再映射到 InnoDB 会话和最后 SQL,形成一套可复核的 MySQL 锁等待链定位方法。497 收藏 -
用MySQL窗口函数按分组生成稳定名次,再通过CTE或派生表筛选每组前N条,并说明ROW_NUMBER、RANK、DENSE_RANK的并列边界。465 收藏 -
用 MySQL JSON_TABLE 展开订单 JSON 数组时,通过 DEFAULT ON EMPTY 为缺失字段提供类型正确的默认值,并结合 EXISTS PATH、FOR ORDINALITY 和 ON ERROR 保留可追溯的映射边界。445 收藏 -
用普通 EXPLAIN 找到 Using filesort 与 Using temporary 线索,再用 EXPLAIN ANALYZE 对照实际行数、耗时和 loops,判断排序临时表是否真的是慢点。434 收藏 -
通过显式字段映射、用户变量和 IGNORE 处理 MySQL LOAD DATA 的脏行,并立即保存 Records、Skipped、Warnings 与 SHOW WARNINGS 明细。432 收藏 -
用 MySQL CTE 把过滤、明细聚合和最终汇总拆成职责清晰的查询阶段,配合 EXPLAIN 检查维护性与执行代价。418 收藏 -
围绕 MySQL JSON 数组成员检索,说明多值索引的 CAST 定义、查询匹配、EXPLAIN 验证,以及空数组、NULL、JSON null 和大数组边界。404 收藏 -
围绕 MySQL wait_timeout 与客户端连接生命周期,说明如何配置 database/sql 连接池、设置安全余量、识别失效连接,并限制只读查询重试的边界。392 收藏 -
从隔离级别、索引条件和扫描区间入手,分析 MySQL InnoDB 间隙锁与临键锁造成的并发插入阻塞,并给出复现和收敛方法。390 收藏 -
MySQL JSON 列不能直接按任意路径高效过滤时,可以用 generated column 把固定路径提取成可索引的 SQL 类型。本文从表达式、字符排序规则、VIRTUAL/STORED 和 EXPLAIN 四个方面给出实现方法与边界。377 收藏 -
用同一条 SQL 固定更新前后口径,结合 EXPLAIN、SHOW INDEX 和 COLUMN_STATISTICS 判断 ANALYZE TABLE 是否改变了优化器计划,并给出统计信息异常时的回退思路。364 收藏 -
MySQL InnoDB 中普通 SELECT、UPDATE、FOR SHARE 与 FOR UPDATE 使用的读视图不同。本文通过事务快照、当前版本和锁定动作,给出查询与并发修改的选择方法。306 收藏 -
MySQL 时间范围查询能否命中分区,关键不在分区数量,而在分区键、边界定义和 WHERE 谓词是否保持可裁剪形式。本文用 RANGE COLUMNS、半开区间与 EXPLAIN PARTITIONS 说明具体做法。301 收藏 -
旧表字符集迁移不能只改一个默认值。本文以 utf8mb4 为目标,说明如何盘点表列与连接设置、选择排序规则、执行 ALTER TABLE、处理显式列定义并安排迁移后的核对与回滚。281 收藏 -
围绕 (tenant_id, status, created_at) 示例,说明跳过复合索引最左列后普通访问、Skip Scan、EXPLAIN 判断和索引调整方案。244 收藏