Go语言技术文章
-
MySQL 在线备份恢复演练不能只看命令返回成功,还要在隔离实例中核对行数、主键范围、业务聚合值、触发器和存储程序,形成可复盘的恢复证据。222 收藏 -
MySQL 直方图不会因为每次写入自动按固定周期刷新。本文用 COLUMN_STATISTICS 判断数据漂移,比较手动刷新与 AUTO UPDATE,并给出采样率、执行计划和回滚检查清单。222 收藏 -
本文从广播、离线补读、组内分摊、确认恢复和积压治理比较 Redis Pub/Sub、Streams XREAD 与消费组,并给出选型和迁移清单。220 收藏 -
从 AOF 多部分文件、fork 与 Copy-on-Write、fsync 和 INFO persistence 指标入手,说明重写期间磁盘增长与延迟抖动的来源,并给出配置和排查方法。218 收藏 -
Redis ZINTERCARD 的 LIMIT 用于限制交集基数计算量:达到阈值即可提前结束,精确统计则使用默认无限制语义,并注意空 key、复杂度和集群多 key 边界。216 收藏 -
MySQL 在线 DDL 仍可能被元数据锁阻塞。本文用 sys.schema_table_lock_waits 和 performance_schema.metadata_locks 定位持锁事务,并通过 lock_wait_timeout、ALGORITHM 和 LOCK 设定可控的变更失败边界。216 收藏 -
MySQL 的 INVISIBLE 列仍然存在,只是不会被 SELECT * 或表别名通配展开。本文用最小示例对比通配查询、显式列名和元数据排查方法,说明如何兼容旧接口并稳定读取隐藏辅助列。213 收藏 -
Redis 向量检索变慢时,不要只看总耗时。本文用 FT.PROFILE 拆开 VECTOR 迭代器、过滤模式、距离计算和结果处理器,给出可复现的排查顺序与调参边界。212 收藏 -
MySQL 多消费者队列可在短事务中使用 FOR UPDATE SKIP LOCKED 领取互不重叠的任务,再通过租约令牌、超时回收和幂等约束降低重复执行风险。210 收藏 -
本文对比 Redis SLOWLOG 与 LATENCY DOCTOR 的记录范围、阈值单位和排查顺序,给出从延迟事件到具体慢命令的实战判断方法。208 收藏 -
Redis 大 Key 不一定要改业务接口才能治理。本文从测量边界开始,演示如何按字段组拆成多个 Hash,用读取门面保持调用方式不变,再通过双写、回填、切换和旧 Key 下线完成迁移。207 收藏 -
MySQL 的 JSON 标量提取结果未必天然适合作为函数索引键。本文说明 JSON_UNQUOTE 返回 LONGTEXT 时为什么需要 CAST,并给出字符串、数值、金额类型的索引与查询匹配写法。204 收藏 -
围绕 InnoDB 新增二级索引,说明如何用 ALGORITHM=INPLACE、LOCK=NONE 评估元数据锁等待、在线变更日志、临时排序文件和生产上线边界。202 收藏 -
MySQL 生成列没有单独的刷新按钮:依赖列变化时,存储生成列和它的索引在行写入过程中维护,虚拟生成列则在读取时计算。本文用最小 SQL 区分两种时机,并排查事务可见性与执行计划未用索引的常见误判。201 收藏 -
MySQL 日期范围查询没有触发分区裁剪,通常与分区表达式不匹配、日期列被函数包裹、类型转换或范围过宽有关。本文用 SHOW CREATE TABLE、INFORMATION_SCHEMA.PARTITIONS 和 EXPLAIN 的 partitions 列定位原因,并给出半开区间改写方法。201 收藏