-
MySQL 多值索引会把 JSON 数组元素拆成多条索引记录,因此能加速成员判断,却不能从索引还原完整数组。本文解释回表原因、EXPLAIN 误区,并给出生成列与关系化拆分方案。
-
用 MySQL JSON_TABLE 和 NESTED PATH 展开嵌套数组,分清 FOR ORDINALITY、ON EMPTY、ON ERROR、EXISTS PATH 以及空数组产生的 NULL 行。
-
MySQL 函数索引不命中时,先对照 SHOW CREATE TABLE 中的表达式,再统一 WHERE 的函数、JSON 路径和类型转换,最后用 EXPLAIN 检查 key、key_len 与 rows。
-
MySQL invisible unique index 只改变默认优化器是否纳入索引,不会停止索引维护或关闭唯一约束。本文用重复写入、EXPLAIN、IS_VISIBLE 和隐式主键例外说明不可见索引的真实边界。
-
GeoJSON 只是查询输入格式,真正参与空间索引的是带 SRID 约束的 GEOMETRY 列。本文用 MySQL 8.4 说明如何转换 GeoJSON、创建 SPATIAL INDEX,并用 MBR 候选条件配合精确空间关系完成查询。
-
MySQL 显式指定 ALGORITHM=INSTANT 时不支持就会报错,不会自动回退。本文给出按操作类型、表属性、并发与空间风险判断 INPLACE 或 COPY 的生产变更方法。
-
MySQL 同一张表存在多个相同事件和时机的触发器时,默认按创建顺序执行。本文用 FOLLOWS、PRECEDES 固定 BEFORE UPDATE 链路,并给出复核与维护清单。
-
MySQL NDB Cluster 8.4 用 ArbitrationRank 选择仲裁节点:0 表示不参与,1 表示高优先级,2 表示低优先级。本文从排查现场出发,给出管理节点、SQL/API 节点的配置关系,以及 Arbitration 覆盖、滚动重启和 ndbinfo 观察边界。
-
用 MySQL 隐形索引代替立即删除:先确认索引状态,再比较 EXPLAIN、慢查询和单语句计划,最后按证据恢复或安排 DROP INDEX。
-
MySQL 不可见索引可以在不直接删除索引的情况下测试优化器计划:先记录索引和 EXPLAIN,再将普通二级索引设为 INVISIBLE,最后用 use_invisible_indexes 做单条语句对照,依据计划、性能和约束影响决定恢复或删除。
-
MySQL CREATE TABLE LIKE 会复制源表的列属性和索引,并保留生成列、表达式默认值与 CHECK 约束;但外键及部分目录表选项不会复制。本文用最小 SQL 说明保留边界,并给出结构核对方法。
-
用 MySQL JSON_STORAGE_SIZE 读取 JSON 文档的二进制存储字节数,区分 JSON 文本长度、JSON 列原始空间与部分更新后的可复用空间,并说明 NULL、非法 JSON 和整表磁盘估算的边界。
-
MySQL ST_ExteriorRing 从 Polygon 返回外环 LineString。本文用带洞多边形说明调用方式、外环与内环的区别、返回类型,以及 NULL、空几何、SRS 和错误几何类型的排查方法。
-
介绍 MySQL EXPLAIN FORMAT=JSON 中 cost_info 的层级、字段含义和 JSON_EXTRACT 提取方法,说明如何结合访问类型、扫描行数与版本边界判断查询优化方向。
-
MySQL 的 ALTER TABLE 即使使用在线 DDL,也可能在提交表定义时等待独占元数据锁。本文从 Waiting for table metadata lock 现象出发,结合 SHOW FULL PROCESSLIST、performance_schema.metadata_locks 和 threads 找到持锁会话,再把处理动作安排到合适的变更窗口。