Go语言技术文章
-
用 MySQL JSON_TYPE 判断对象、数组和基础标量,结合 JSON_EXTRACT、CASE 与 BEFORE 触发器完成查询分流和写入时分类,并说明 SQL NULL、JSON null 与无效 JSON 的边界。116 收藏 -
MySQL JSON_REMOVE 支持在一次表达式中传入多个 JSON path。本文用嵌套对象示例说明路径从左到右求值、缺失成员的处理方式、父对象与叶子成员的删除边界,以及生产更新前的预览、权限和回滚检查。312 收藏 -
数据库 · MySQL | 1星期前 | 并发 · MySQL · 数据库 · InnoDB · mysql innodb AUTO_INCREMENT innodb_autoinc_lock_mode
MySQL InnoDB 的 interleaved 自增锁模式允许多个 INSERT-like 语句并发分配编号。本文区分语句交错、bulk insert 预分配和事务回滚造成的间隔,并给出复制模式下的选择依据。295 收藏 -
MySQL 同一索引间隙中,不同位置的插入意向可以兼容,却可能共同等待第三方间隙保护。本文给出锁监控关联 SQL、三会话配方及字段解释,区分共同阻塞与互相阻塞。330 收藏 -
MySQL 的 JOIN_FIXED_ORDER 与 STRAIGHT_JOIN 都能固定连接顺序,但影响范围并不相同。本文比较两种写法对查询块、IN/EXISTS 半连接转换和排障验证的影响,并给出更稳妥的提示组合。347 收藏 -
解释为什么 UPDATE 的 EXPLAIN 计划看不到 Using index condition 仍可能正常:SELECT 用 ICP 减少完整行读取,而 UPDATE 必须读取并修改目标记录并维护相关索引。205 收藏 -
MySQL 联合索引缺少前导列条件时,普通 range 访问难以直接定位后缀范围。本文用单表覆盖索引示例说明 SKIP_SCAN 提示的写法、适用条件、EXPLAIN 观察点、optimizer_switch 边界和提示被忽略时的处理方式。197 收藏 -
MySQL 单表按组取最小值时,如何让 GROUP BY 列形成联合索引左前缀,并让 MIN 列紧邻其后。结合 SQL 示例说明 Loose Index Scan 条件、计划标记与改造边界。203 收藏 -
Redis LATENCY DOCTOR 不只是告诉你 Redis 变慢了,还会按事件类型给出延迟尖峰的统计和建议。本文从阈值、事件名、统计指标和后续证据四步读懂报告。246 收藏 -
Redis WAITAOF如何在同一连接等待本地与副本AOF确认,怎样选择参数、比较返回计数,并为超时和断连设计幂等恢复。499 收藏 -
Redis BLMOVEM 的 EXACTLY 会在源列表未达到指定数量时继续阻塞,凑够后再恰好转移一批元素。本文对比 COUNT 的最多转移语义,说明方向、BULK/OBO、timeout、事务脚本和集群边界。234 收藏 -
Redis HPEXPIRE 可以为同一个 hash 中的指定字段设置毫秒级过期时间。本文用 go-redis/v9 说明服务端版本、字段级 TTL、HPTTL 复查、NX/XX/GT/LT 条件以及常见错误。487 收藏 -
Redis SETBIT 用非负 bit offset 设置或清除字符串中的某一位。本文用 offset 0、7、8 说明跨字节写入,配合 GETBIT、BITCOUNT 和 Go 代码处理编号映射、旧值返回以及大偏移扩容边界。303 收藏 -
Redis SINTERCARD 用 LIMIT 可以在交集数量达到阈值时提前结束统计。本文从返回值语义、CLI 示例和应用层布尔判断三方面说明 LIMIT 0、正数阈值、空集合及集群多 key 边界。404 收藏 -
Redis ZPOPMAX 会从有序集合中取出并删除最高分成员,适合把 sorted set 当作优先级队列。本文说明 key、count、批量返回顺序、Go 客户端读取和业务确认边界。363 收藏