-
MySQL GTID_EXECUTED 是事务集合,不是单一整数位点。本文用源端与副本端的 Executed_Gtid_Set、Retrieved_Gtid_Set、GTID_SUBSET 和 GTID_SUBTRACT 判断复制是否推进,并定位仍未应用的事务范围。
-
MySQL 分区表出现读取异常或损坏标记时,应先确认存储引擎和分区范围,再用 CHECK TABLE 或 CHECK PARTITION 读取完整结果,最后结合备份和恢复方案处理。本文说明检查选项、InnoDB 风险与结果边界。
-
MySQL LAG 按分区排序取前序行,LAST_VALUE 取当前窗口帧末行。本文用账户流水说明默认 RANGE 帧、显式全分区帧、ROWS 与重复排序值的边界,并给出选择上一条、分区末值和最大值的 SQL 写法。
-
MySQL 8.4 可用 ANALYZE TABLE UPDATE HISTOGRAM 的 WITH N BUCKETS 配置直方图桶数。本文说明 1 到 1024 的参数范围、桶数选择、COLUMN_STATISTICS 查看方法、采样率边界,以及 AUTO UPDATE 和 DROP HISTOGRAM 的使用时机。
-
派生表并不是天然阻止所有下推。本文区分派生条件下推与 Index Condition Pushdown,说明合并、物化、EXPLAIN 判断和适用边界。
-
执行 OPTIMIZE TABLE 后,不能只看命令返回 OK 就判断磁盘空间已回收。本文按存储引擎、表空间归属、执行回执和前后快照,说明如何区分 .ibd 文件缩小、共享表空间内部复用与仅更新统计信息。
-
MySQL Performance Schema 的 table_io_waits_summary_by_index_usage 出现 INDEX_NAME=NULL 时,不要直接理解为表没有索引。本文解释 NULL、PRIMARY 和具体二级索引的分组差异,说明插入为何计入 NULL,并给出固定观察窗口的查询方法。
-
MySQL JSON_CONTAINS_PATH 用来判断 JSON 文档中的一个或多个路径是否存在。本文用最小 SQL 说明 one 和 all 的区别,并梳理 0、1、NULL、JSON null、非法路径以及 WHERE 条件中的常见误用。
-
MySQL CHECK TABLE 不是自动修复命令。本文从结果集、QUICK/FAST/CHANGED/EXTENDED 选项、FOR UPGRADE、分区表和 InnoDB 边界说明怎样判断表结构与索引状态,并安排后续处理。
-
把应用层默认值和派生字段迁移到 MySQL 8.4 列定义时,先区分 DEFAULT 表达式与生成列,再按表达式限制、VIRTUAL 或 STORED、索引和应用写入契约逐项落地。
-
MySQL 递归 CTE 需要同时设置业务终止条件和服务器保护线。本文用 depth、cte_max_recursion_depth、递归成员内 LIMIT 与 MAX_EXECUTION_TIME 区分层数、行数和时间边界。
-
MySQL JSON 列不能直接按普通列建立索引时,可以用生成列提取固定路径,再按明确的数据类型建立二级索引。本文给出建表、改表、查询和适用边界。
-
MySQL 的 ST_GeomFromText 用 WKT 文本创建空间对象,第二个参数可以指定 SRID。本文从 POINT、LINESTRING、POLYGON 的写法讲到空间列入库,再用 ST_AsText 和 ST_SRID 回读,重点说明 WKT 与 POINT() 函数的格式差异。
-
MySQL sys.schema_table_statistics_with_buffer 能把表级读写量、等待时间和 InnoDB 缓冲池统计放到同一张视图中。本文用可读视图与 x$ 伴随视图整理查询方式,说明字段口径、筛选方法和迁移式排查清单,帮助定位需要继续分析的表级 IO 候选。
-
MySQL Performance Schema 的 events_statements_history_long 默认可能未开启。本文说明 setup_consumers 的层级开关、动态启用方式、启动时容量设置、查询最近已结束语句的方法,以及查不到记录时的排查顺序。