Go语言技术文章
-
MySQL InnoDB 中普通 SELECT、UPDATE、FOR SHARE 与 FOR UPDATE 使用的读视图不同。本文通过事务快照、当前版本和锁定动作,给出查询与并发修改的选择方法。306 收藏 -
从 AOF 多部分文件、fork 与 Copy-on-Write、fsync 和 INFO persistence 指标入手,说明重写期间磁盘增长与延迟抖动的来源,并给出配置和排查方法。218 收藏 -
MySQL 时间范围查询能否命中分区,关键不在分区数量,而在分区键、边界定义和 WHERE 谓词是否保持可裁剪形式。本文用 RANGE COLUMNS、半开区间与 EXPLAIN PARTITIONS 说明具体做法。301 收藏 -
Redis Cluster 的跨槽排查要从 key slot 入手。本文用 CRC16 mod 16384 解释槽位计算,结合 CLUSTER KEYSLOT、hash tag、CROSSSLOT、MOVED 和 ASK,给出多键命令的定位与键名设计方法。436 收藏 -
数据库 · MySQL | 2个月前 | MySQL · 执行计划 · 慢查询 · MySQL EXPLAIN ANALYZE MySQL估算行数实际行数 MySQL执行计划耗时 MySQL慢查询诊断 MySQL TREE执行计划
从 EXPLAIN 基线到 EXPLAIN ANALYZE 实测,按节点对比估算行数、实际行数、迭代耗时和 loops,定位统计信息与访问路径偏差。262 收藏 -
Redis Lua 脚本不要只返回 OK 或空值。本文用固定的状态码与 payload 契约区分业务成功、状态冲突、条件未满足和命令执行错误,并给出 pcall 与 Go 客户端解析的迁移清单。493 收藏 -
旧表启用 MySQL CHECK 约束前,先用反向查询找出历史违规数据,按业务规则分批修复或隔离,再以 NOT ENFORCED 暂存命名约束,确认全表通过后切换为 ENFORCED。475 收藏 -
围绕 Redis ZSET 的 score 与 member 二级排序,说明如何用复合游标处理同分值成员、排他边界和分页期间的数据变化,避免稳定范围分页中的重复与遗漏。440 收藏 -
围绕 InnoDB 新增二级索引,说明如何用 ALGORITHM=INPLACE、LOCK=NONE 评估元数据锁等待、在线变更日志、临时排序文件和生产上线边界。202 收藏 -
Redis Stream 的消息保留可以按数量或消息 ID 控制:MAXLEN 适合固定条数,MINID 适合按时间窗口推进。本文用 XTRIM 和 XADD 示例说明精确、近似裁剪、消费组引用以及上线前的检查边界。279 收藏 -
MySQL 按分组取每组最新记录时,先用 ROW_NUMBER() 在 PARTITION BY 分组内按时间倒序编号,再由外层筛选 rn=1。本文说明稳定排序、并列时间、分组粒度、过滤边界和索引复核方法。185 收藏 -
介绍 Redis CLIENT TRACKING 的 BCAST 模式,说明如何用 PREFIX 接收客户端缓存失效通知,并处理 RESP2 重定向、NOLOOP、前缀重叠和通知连接断开等边界。361 收藏 -
MySQL 覆盖索引通过让过滤、排序和结果列落在同一索引中,减少回到聚簇数据页读取整行的机会。本文以订单列表为例,讲解投影收窄、联合索引设计、EXPLAIN 验收及写入成本控制。148 收藏 -
区分 go-redis 的 PoolTimeout、DialTimeout、ReadTimeout、WriteTimeout 与单次 context deadline,结合 PoolStats 判断连接池排队、建连失败和命令读写变慢。340 收藏 -
从全局 TempTable 内存、单表临时表上限和溢出路径三个角度,说明如何读取并设置 MySQL temptable_max_ram,再用状态变量与 Performance Schema 判断调整是否有效。409 收藏