MySQL技术文章
-
MySQL JSON_TABLE 在同一 COLUMNS 中使用多个 NESTED PATH 时,会让嵌套路径依次产出记录,并为另一组路径列补 NULL。本文用可复现 SQL 解释行来源、过滤方式与 FOR ORDINALITY 的范围。189 收藏 -
MySQL 递归 CTE 需要同时设置业务终止条件和服务器保护线。本文用 depth、cte_max_recursion_depth、递归成员内 LIMIT 与 MAX_EXECUTION_TIME 区分层数、行数和时间边界。360 收藏 -
EXPLAIN ANALYZE 能定位排序节点并展示实际耗时,但不会直接标记是否落盘。本文结合同一会话的 Created_tmp_disk_tables、Sort_merge_passes 等状态计数,说明如何判断磁盘临时表和排序归并线索。264 收藏 -
数据库 · MySQL | 1星期前 | MySQL · 事务 · InnoDB · 性能排查 · mysql innodb 锁等待 information_schema.innodb_trx 未提交事务
使用 INFORMATION_SCHEMA.INNODB_TRX 可以查看当前仍在 InnoDB 中执行的事务,本文说明如何读取事务状态、开始时间、连接 ID 和修改规模,并区分事务概况与锁关系排查。189 收藏 -
MySQL JSON 列不能直接按普通列建立索引时,可以用生成列提取固定路径,再按明确的数据类型建立二级索引。本文给出建表、改表、查询和适用边界。347 收藏 -
MySQL 索引前缀参数对非二进制字符串按字符解释,但上限按字节计算。本文用 utf8mb3、utf8mb4、latin1/ascii 和 InnoDB 行格式对照迁移中的索引长度,给出换算公式、检查命令与修复取舍。118 收藏 -
MySQL Performance Schema 的按线程等待汇总表能把 THREAD_ID、等待事件和累计计时关联起来。本文给出采集项、线程映射、排序定位和清零窗口的最小 SQL,并说明后台线程、计时单位和空结果的排查边界。306 收藏 -
以MySQL 8.4 InnoDB单SKU库存预留为例,对比RC、RR与FOR UPDATE、FOR SHARE的组合,给出事务内扣减与异常回滚示例,并说明权限、连接池及幂等重试边界。271 收藏 -
把应用层默认值和派生字段迁移到 MySQL 8.4 列定义时,先区分 DEFAULT 表达式与生成列,再按表达式限制、VIRTUAL 或 STORED、索引和应用写入契约逐项落地。368 收藏 -
MySQL sys.schema_table_statistics_with_buffer 能把表级读写量、等待时间和 InnoDB 缓冲池统计放到同一张视图中。本文用可读视图与 x$ 伴随视图整理查询方式,说明字段口径、筛选方法和迁移式排查清单,帮助定位需要继续分析的表级 IO 候选。335 收藏 -
MySQL 容量盘点不能只看一个总数。本文用 INFORMATION_SCHEMA.TABLES 区分 DATA_LENGTH、INDEX_LENGTH 与 DATA_FREE,给出按库汇总的查询,并解释 InnoDB、分区表和磁盘文件统计之间的边界。175 收藏 -
MySQL CHECK TABLE 不是自动修复命令。本文从结果集、QUICK/FAST/CHANGED/EXTENDED 选项、FOR UPGRADE、分区表和 InnoDB 边界说明怎样判断表结构与索引状态,并安排后续处理。374 收藏 -
MySQL 分区表是否能真正提速,关键不只是分区数量,而是分区键、边界和 WHERE 条件能否让优化器排除无关分区。本文用日期范围表说明裁剪条件的设计方法、常见反例和迁移清单。154 收藏 -
MySQL LAG 按分区排序取前序行,LAST_VALUE 取当前窗口帧末行。本文用账户流水说明默认 RANGE 帧、显式全分区帧、ROWS 与重复排序值的边界,并给出选择上一条、分区末值和最大值的 SQL 写法。432 收藏 -
MySQL 窗口函数重复写分区和排序时,可以用 WINDOW 子句定义命名窗口并在多个 OVER 中复用。本文说明完整复用、追加排序与窗口帧的写法,以及同类属性冲突和最终展示排序的边界。232 收藏