Go语言技术文章
-
MySQL JSON_SCHEMA_VALIDATION_REPORT 会返回失败原因、JSON Schema 路径、文档路径和失败关键字。本文用嵌套字段示例说明如何提取这些信息,区分 required、NULL 与非法 JSON,并整理成可用于排障的查询结果。391 收藏 -
从 PSYNC、复制 offset 和 backlog 覆盖范围入手,按峰值复制流速估算 repl-backlog-size,并用 INFO replication 判断短暂断线能否避免全量同步。390 收藏 -
MySQL FOR SHARE 是 InnoDB 的锁定读语法:读取符合条件的行并加共享锁,适合在同一事务中先检查再处理。本文对比普通一致性读,说明事务边界、等待行为、NOWAIT、SKIP LOCKED 和常见误区。389 收藏 -
MySQL 连接属性不会自动把会话送进资源组。本文用 session_connect_attrs 识别连接,再通过 SET RESOURCE GROUP 完成调度,并给出线程核对、权限与连接池复用的配置方法。388 收藏 -
MySQL Prepared statement 通常按会话缓存内部结构;引用表或视图的元数据变化、表定义缓存刷新时,下一次执行会自动重新预编译。本文用触发清单和 Com_stmt_reprepare 说明排查边界。387 收藏 -
还原 MySQL 死锁等待关系,需要逐项对应事务、持有锁、请求锁和冲突资源,不能只看当前 SQL。本文给出关系表和 Performance Schema 查询,并解释实时快照、间隙锁及重试边界。387 收藏 -
用 MySQL 8.4 的 ST_Validate 检查 WKT 几何对象,区分有效值、NULL 和坐标越界异常,并给出与 ST_IsValid 组合使用的筛选步骤。387 收藏 -
MySQL CHECK 失败后,先从错误中取得约束名,再用 SHOW CREATE TABLE 和 INFORMATION_SCHEMA.CHECK_CONSTRAINTS 反查表达式,最后把候选值拆成多个布尔子条件逐列计算。本文还说明 TRUE、FALSE、UNKNOWN、NULL 与隐式类型转换的差异。386 收藏 -
介绍如何使用 ANALYZE TABLE 更新 MySQL histogram,并从 COLUMN_STATISTICS 确认桶数、采样率和自动更新策略,整个过程不修改表结构。386 收藏 -
MySQL histogram 不会替代索引,它解决的是优化器看不清列值分布、导致 rows 估算失真的问题。本文以订单状态列为例,演示怎样建立和查看 histogram,再用 EXPLAIN 判断统计信息的作用,并说明 bucket、采样率、自动更新和适用边界。386 收藏 -
本文围绕 MySQL ST_Simplify 处理 LineString 的实际任务,说明 max_distance 的距离单位、公差选择、节点变化和 ST_IsValid 有效性检查,并给出安全回写简化几何的 SQL 示例。384 收藏 -
Redis WAIT 用 numreplicas 和毫秒级 timeout 等待当前连接此前写入被副本确认。本文说明返回值判断、超时处理、连接边界,以及它与 AOF 持久化和强一致保证的区别。383 收藏 -
MySQL 复制过滤不是按配置文件书写顺序覆盖,而是先改写库名,再判断库级规则,最后按精确表 do、精确表 ignore、通配表 do、通配表 ignore 的固定顺序命中即退出。本文结合 STATEMENT、ROW 与 DDL 的差异,给出可推演的判断方法。382 收藏 -
MySQL ST_SwapXY 交换几何中每对坐标的 X、Y 分量。本文给出点、折线和集合写法,并区分数据交换、轴顺序解析与坐标系变换。381 收藏 -
Redis TTL 不按预期过期,通常不是 Redis 忽略了时间,而是过期没有成功写入、后续 SET 覆盖清除了 TTL,或把主动清理误解成精确计时。本文用 TTL、PTTL 和最小命令集逐层定位。380 收藏