Go语言技术文章
-
MySQL JSON_TABLE 在同一 COLUMNS 中使用多个 NESTED PATH 时,会让嵌套路径依次产出记录,并为另一组路径列补 NULL。本文用可复现 SQL 解释行来源、过滤方式与 FOR ORDINALITY 的范围。189 收藏 -
MySQL 递归 CTE 需要同时设置业务终止条件和服务器保护线。本文用 depth、cte_max_recursion_depth、递归成员内 LIMIT 与 MAX_EXECUTION_TIME 区分层数、行数和时间边界。360 收藏 -
EXPLAIN ANALYZE 能定位排序节点并展示实际耗时,但不会直接标记是否落盘。本文结合同一会话的 Created_tmp_disk_tables、Sort_merge_passes 等状态计数,说明如何判断磁盘临时表和排序归并线索。264 收藏 -
数据库 · MySQL | 1星期前 | MySQL · 事务 · InnoDB · 性能排查 · mysql innodb 锁等待 information_schema.innodb_trx 未提交事务
使用 INFORMATION_SCHEMA.INNODB_TRX 可以查看当前仍在 InnoDB 中执行的事务,本文说明如何读取事务状态、开始时间、连接 ID 和修改规模,并区分事务概况与锁关系排查。189 收藏 -
MySQL JSON 列不能直接按普通列建立索引时,可以用生成列提取固定路径,再按明确的数据类型建立二级索引。本文给出建表、改表、查询和适用边界。347 收藏 -
Redis SET 的 NX 决定是否允许写入,EX 负责给成功写入设置新的秒级 TTL,KEEPTTL 则保留已有 TTL。本文用三种迁移场景拆开这些参数的组合边界,避免更新缓存时误续期或误覆盖。280 收藏 -
Redis ZINTERCARD 可以只返回多个有序集合的交集数量。本文从键准备、命令参数和匹配门槛出发,说明精确计数、LIMIT 提前停止、不存在键和集群多键边界。474 收藏 -
Redis Streams 的 XPENDING 先用摘要查看消费组整体积压,再用扩展形式按消费者筛选消息 ID、空闲时间和投递次数,本文给出参数顺序、常见误区与排查边界。278 收藏 -
从 CROSSSLOT 现象出发,说明 Redis Cluster hash tag 的取值规则、业务键设计、CLUSTER KEYSLOT 检查方式,以及共槽位与热点之间的边界。450 收藏 -
Redis WAIT 等待写命令被副本确认,WAITAOF 进一步等待本地或副本将写入 fsync 到 AOF。本文用最小命令区分两者的等待对象、返回值、超时和强一致边界。180 收藏 -
讲清 Redis CLIENT TRACKING 的 NOLOOP 如何抑制当前连接的自写入失效通知,以及默认 Tracking 写入后为什么必须重新读取才能恢复键跟踪。234 收藏 -
Redis LPUSHX 只会向已经存在的列表头部写入,key 不存在时不创建列表并返回 0。本文说明它与 LPUSH 的建键差异、返回长度、多元素头插顺序,以及如何把条件写入用于队列初始化边界。413 收藏 -
Redis Lua 返回数组时,连续索引会映射为 RESP 数组,但 nil 会截断后续元素,关联字段不会自动成为对象,RESP2 下数字和布尔值也有特定转换规则。本文按脚本协议与客户端协议两层说明排查方法,并给出 RESP3 map 的使用边界。461 收藏 -
Redis Function 默认按可能读写处理;本文用 no-writes、FCALL_RO 和只读副本说明注册标记、调用方式与写命令拒绝边界。236 收藏 -
围绕 Redis 7.4 的 HEXPIRE、HTTL 与 Redis 8.0 的 HGETEX,说明如何在同一个 hash 内为不同 field 设计独立 TTL,并补齐版本、ACL、日志审计、监控和回退检查。130 收藏