-
本文说明如何用 MySQL PS_CURRENT_THREAD_ID() 取得当前会话在 Performance Schema 中的内部 THREAD_ID,并区分 CONNECTION_ID、PROCESSLIST_ID、PS_THREAD_ID 的映射关系与 NULL、报错边界。
-
mysql_real_escape_string_quote 的 quote 参数不是装饰项,而是 SQL 字符串所在的引号上下文。本文说明单引号、双引号和反引号的选择、连接字符集、缓冲区容量与 ANSI_QUOTES 边界,并给出可直接改造旧式拼接代码的 C 示例。
-
MySQL 多值索引会把 JSON 数组元素拆成多条索引记录,因此能加速成员判断,却不能从索引还原完整数组。本文解释回表原因、EXPLAIN 误区,并给出生成列与关系化拆分方案。
-
MySQL 按客户或订单组计算累计金额时,关键不是只写 SUM,而是同时固定 PARTITION BY、稳定的 ORDER BY 和窗口帧。本文给出可直接改造的累计求和写法,并说明 ROWS 与 RANGE、重复时间值、负数金额和组内总计的边界。
-
用最小 SQL 验证 MySQL READ ONLY 事务的真实边界:哪些普通表写入会失败,为什么临时表仍可修改,以及连接池复用时如何确认只读状态没有泄漏。
-
MySQL LOAD DATA 导入 CSV 时,FIELDS TERMINATED BY、ENCLOSED BY、ESCAPED BY 和 LINES TERMINATED BY 必须匹配文件生成规则。本文用带逗号、双引号和字段内换行的示例说明参数组合与检查方法。
-
用 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 和隐式主键例外说明不可见索引的真实边界。
-
MySQL sys.schema_table_statistics_with_buffer 能把表级读写量、等待时间和 InnoDB 缓冲池统计放到同一张视图中。本文用可读视图与 x$ 伴随视图整理查询方式,说明字段口径、筛选方法和迁移式排查清单,帮助定位需要继续分析的表级 IO 候选。
-
MySQL 的 ROLLUP 会用 NULL 表示更高层级的汇总,但真实数据里的 NULL 也可能出现在普通明细行。本文用 GROUPING() 区分两者,再说明标签替换、HAVING 过滤、多参数位掩码和表达式匹配边界。
-
GeoJSON 只是查询输入格式,真正参与空间索引的是带 SRID 约束的 GEOMETRY 列。本文用 MySQL 8.4 说明如何转换 GeoJSON、创建 SPATIAL INDEX,并用 MBR 候选条件配合精确空间关系完成查询。
-
MySQL C API 读取预处理结果时遇到 MYSQL_DATA_TRUNCATED,不要直接当成 SQL 失败。本文说明如何检查 MYSQL_BIND.error、length、buffer_length 和 is_null,并用 mysql_stmt_fetch_column() 取回长字符串或 BLOB。
-
MySQL LAST_VALUE 受窗口 frame 限制;存在 ORDER BY 时,默认 frame 通常只到当前行。本文用显式 UNBOUNDED FOLLOWING、稳定排序键和 ROW_NUMBER 说明正确写法。
-
MySQL 显式指定 ALGORITHM=INSTANT 时不支持就会报错,不会自动回退。本文给出按操作类型、表属性、并发与空间风险判断 INPLACE 或 COPY 的生产变更方法。