MySQL技术文章
-
用MySQL窗口函数按分组生成稳定名次,再通过CTE或派生表筛选每组前N条,并说明ROW_NUMBER、RANK、DENSE_RANK的并列边界。465 收藏 -
用同一条 SQL 固定更新前后口径,结合 EXPLAIN、SHOW INDEX 和 COLUMN_STATISTICS 判断 ANALYZE TABLE 是否改变了优化器计划,并给出统计信息异常时的回退思路。364 收藏 -
围绕 mysqldump 讲清 InnoDB 一致性导出、对象清单、恢复先后和结果核对,帮助你规划一份真正可恢复的 MySQL 逻辑备份。235 收藏 -
数据库 · MySQL | 4星期前 | MySQL · InnoDB · MySQL锁等待 performance_schema.data_lock_waits data_locks锁对象 InnoDB事务阻塞 锁等待链定位
从 data_lock_waits 和 data_locks 还原等待事务、阻塞事务及锁对象,再映射到 InnoDB 会话和最后 SQL,形成一套可复核的 MySQL 锁等待链定位方法。497 收藏 -
围绕 MySQL wait_timeout 与客户端连接生命周期,说明如何配置 database/sql 连接池、设置安全余量、识别失效连接,并限制只读查询重试的边界。392 收藏 -
旧表字符集迁移不能只改一个默认值。本文以 utf8mb4 为目标,说明如何盘点表列与连接设置、选择排序规则、执行 ALTER TABLE、处理显式列定义并安排迁移后的核对与回滚。281 收藏 -
MySQL JSON 列不能直接按任意路径高效过滤时,可以用 generated column 把固定路径提取成可索引的 SQL 类型。本文从表达式、字符排序规则、VIRTUAL/STORED 和 EXPLAIN 四个方面给出实现方法与边界。377 收藏 -
MySQL InnoDB 中普通 SELECT、UPDATE、FOR SHARE 与 FOR UPDATE 使用的读视图不同。本文通过事务快照、当前版本和锁定动作,给出查询与并发修改的选择方法。306 收藏 -
MySQL 时间范围查询能否命中分区,关键不在分区数量,而在分区键、边界定义和 WHERE 谓词是否保持可裁剪形式。本文用 RANGE COLUMNS、半开区间与 EXPLAIN PARTITIONS 说明具体做法。301 收藏 -
数据库 · MySQL | 1个月前 | MySQL · 执行计划 · 慢查询 · MySQL EXPLAIN ANALYZE MySQL估算行数实际行数 MySQL执行计划耗时 MySQL慢查询诊断 MySQL TREE执行计划
从 EXPLAIN 基线到 EXPLAIN ANALYZE 实测,按节点对比估算行数、实际行数、迭代耗时和 loops,定位统计信息与访问路径偏差。262 收藏 -
旧表启用 MySQL CHECK 约束前,先用反向查询找出历史违规数据,按业务规则分批修复或隔离,再以 NOT ENFORCED 暂存命名约束,确认全表通过后切换为 ENFORCED。475 收藏 -
围绕 InnoDB 新增二级索引,说明如何用 ALGORITHM=INPLACE、LOCK=NONE 评估元数据锁等待、在线变更日志、临时排序文件和生产上线边界。202 收藏 -
MySQL 按分组取每组最新记录时,先用 ROW_NUMBER() 在 PARTITION BY 分组内按时间倒序编号,再由外层筛选 rn=1。本文说明稳定排序、并列时间、分组粒度、过滤边界和索引复核方法。185 收藏 -
MySQL 覆盖索引通过让过滤、排序和结果列落在同一索引中,减少回到聚簇数据页读取整行的机会。本文以订单列表为例,讲解投影收窄、联合索引设计、EXPLAIN 验收及写入成本控制。148 收藏 -
从全局 TempTable 内存、单表临时表上限和溢出路径三个角度,说明如何读取并设置 MySQL temptable_max_ram,再用状态变量与 Performance Schema 判断调整是否有效。409 收藏