Go语言技术文章
-
MySQL 复制延迟排查先区分 IO 接收线程和 SQL 应用线程,再结合读取位点、执行位点、relay log 积压及 Last_IO_Error、Last_SQL_Error 判断问题落点。304 收藏 -
MySQL 将索引设为 INVISIBLE 后,优化器默认不再使用它;如果 USE INDEX 或 FORCE INDEX 仍然点名该索引,查询会报错。本文给出确认状态、恢复可见和单次验证的处理边界。304 收藏 -
MySQL generated column 索引不是按数学等价判断的。本文用 f1 + 1、操作数顺序、结果类型和 JSON_UNQUOTE 说明匹配失败的原因,并给出 EXPLAIN 排查方法。304 收藏 -
Redis CMS.INFO 会以 width、depth、count 三组元数据描述 Count-Min Sketch。本文用 redis-cli 说明怎样读取宽度与深度,以及如何避免把 count 当成单个元素的精确计数。304 收藏 -
MySQL 查询明明给条件列建了索引,却因为字符串列与数字参数发生隐式类型转换而扫描变慢。本文用可复现实验说明转换发生在哪里、如何用 EXPLAIN 判断影响,并给出参数类型与字段设计的修复边界。303 收藏 -
Redis 写入缓存时用 SET 的 EX 或 PX 同步设置值和 TTL,读取并续期时用 GETEX,避免 GET、SET、EXPIRE 拆分造成竞态;本文还区分单命令原子性与多步业务条件。303 收藏 -
用 MySQL 资源组把批处理线程绑定到指定 VCPU,并结合线程优先级、会话指派和平台限制做可靠的 CPU 资源隔离。303 收藏 -
MySQL 使用 LAG 比较相邻记录时,分组首行没有上一条记录,默认返回 NULL。本文说明如何固定窗口顺序、使用 default,并区分真实 NULL 与首行缺失。303 收藏 -
MySQL 字符串排序异常,通常不是 ORDER BY 失效,而是列、连接或表达式使用的校对规则不同。本文用 utf8mb4 校对规则、大小写敏感和 COLLATE 覆盖,给出可复现的排查与修正方法。302 收藏 -
Redis HyperLogLog 适合统计大规模 UV:用 PFADD 写入访问标识,PFCOUNT 读取估算值,PFMERGE 合并渠道或分片,并根据 0.81% 左右标准误差判断是否需要精确 Set。302 收藏 -
MySQL 时间范围查询能否命中分区,关键不在分区数量,而在分区键、边界定义和 WHERE 谓词是否保持可裁剪形式。本文用 RANGE COLUMNS、半开区间与 EXPLAIN PARTITIONS 说明具体做法。301 收藏 -
Redis 列表做轻量任务队列时,单独使用 RPOP 容易在消费进程崩溃后丢任务。本文用 LMOVE/BLMOVE 把任务先移入 processing list,再用 LREM 确认完成,拆开重复消费、幂等和集群同槽边界。300 收藏 -
MySQL 8.4 支持多个复制通道从不同源端汇聚到一个副本。本文从 channel 级状态、并行 worker、过滤边界和冲突风险出发,整理多源复制的配置与排查方法。300 收藏 -
Redis Cluster 中 MULTI 不能直接跨槽位执行。本文解释 hash slot、哈希标签和 MOVED 边界,并给出键设计、事务拆分与上线检查清单。300 收藏 -
MySQL 生成列索引不生效,通常不是索引语法错,而是查询表达式没有与生成列定义完全匹配。本文按表达式、结果类型、JSON_UNQUOTE 和 EXPLAIN 四个方向排查。300 收藏