Go语言技术文章
-
订单清理任务执行 DELETE 时,真正拖慢速度的可能不是主表扫描,而是子表外键检查、级联删除和长事务锁范围。本文用订单与明细表的场景拆开执行路径,给出索引核对、分批删除和安全验收方法。262 收藏 -
Redis BITOP 可以把多个 Bitmap 按 AND、OR 或 XOR 合并成新的结果键,适合做用户分群和实时指标。本文用 redis-cli 拆开结果集长度、BITCOUNT 校验、O(N) 成本与长位图内存边界。262 收藏 -
数据库 · MySQL | 1个月前 | MySQL · 执行计划 · 慢查询 · MySQL EXPLAIN ANALYZE MySQL估算行数实际行数 MySQL执行计划耗时 MySQL慢查询诊断 MySQL TREE执行计划
从 EXPLAIN 基线到 EXPLAIN ANALYZE 实测,按节点对比估算行数、实际行数、迭代耗时和 loops,定位统计信息与访问路径偏差。262 收藏 -
Redis 内存使用量下降后,RSS 仍然居高不下,通常要把 allocator_frag_ratio、used_memory 与进程峰值放在一起看。本文从 INFO memory 的真实字段建立判断顺序,区分内存碎片、峰值残留和回收未完成,并给出验证与处理边界。261 收藏 -
MySQL 用 BINARY(16) 存 UUID 可以减少存储空间,但 UUID_TO_BIN 的 swap_flag 必须和 BIN_TO_UUID 使用同一约定。本文用真实 SQL 输出对比原始顺序、交换时间段和错误还原,说明版本 1 UUID 的适用边界。261 收藏 -
MySQL 死锁日志中的表名、索引名、锁模式和记录值需要结合事务语句才能还原到 SQL。本文用 SHOW ENGINE INNODB STATUS 与 performance_schema.data_locks 说明如何区分持有锁和等待锁,并从索引记录反推 WHERE 条件与事务顺序。261 收藏 -
Redis Stream 消费者失联后,使用 XPENDING 找出 PEL 中的超时消息,再用 XCLAIM 转交给新消费者,并根据返回值和业务结果决定何时 XACK。261 收藏 -
Redis Count-Min Sketch 用有限空间估算事件频次,适合筛选高频项和观察趋势,但哈希碰撞会让结果偏大,低频值与精确结算不能直接采用。本文用 CMS 命令说明误差参数、查询方式和使用边界。260 收藏 -
MySQL 的 TABLE 语句可以用一行 SQL 直接读取整张表的可见列和行,还能配合 ORDER BY、LIMIT 与 OFFSET 控制结果。本文通过最小写法和边界排查说明它与 SELECT 的区别。260 收藏 -
介绍 Redis XPENDING 的摘要和扩展查询,查看消费组中按消息 ID 最早的未确认消息,并区分最老 ID与空闲最久的 pending 记录。259 收藏 -
围绕二级索引变更说明 MySQL 在线 DDL 的算法、锁级别、长事务、临时空间与执行窗口规划。258 收藏 -
EXPLAIN FOR CONNECTION 读取的是目标连接当前正在使用的执行计划,不是重新估算一条 SQL;目标连接空闲、语句不可解释、使用预处理语句或权限不足时,就会出现空结果或报错。256 收藏 -
MySQL JSON_OVERLAPS 可以配合 InnoDB 多值索引优化 JSON 数组相交查询,但必须匹配索引表达式、数组类型和查询路径,并用 EXPLAIN 确认优化器实际选用了索引。255 收藏 -
Redis TTL 返回负数通常不是命令失效:-1 表示键存在但没有过期时间,-2 表示键不存在。本文用最小 redis-cli 示例对照 SET EX、PERSIST、DEL 和 PTTL,给出一套排查 TTL 负数的判断顺序。255 收藏 -
Redis ZINTERCARD 只返回多个 Sorted Set 的交集数量,适合在推荐、活动资格和筛选接口中先做交集基数判断。本文用 redis-cli 拆开 ZINTERCARD 与 ZINTER、LIMIT 的差别,说明空 key、集群同槽和“大于阈值”判断的边界。254 收藏