Go语言技术文章
-
从全局 TempTable 内存、单表临时表上限和溢出路径三个角度,说明如何读取并设置 MySQL temptable_max_ram,再用状态变量与 Performance Schema 判断调整是否有效。409 收藏 -
Redis Stream 消费者在 XREADGROUP 后处理失败,消息会停留在消费组 PEL。本文用 XPENDING 定位 pending,再比较 XCLAIM 与 XAUTOCLAIM 的接管方式,并说明何时 XACK、如何避免短暂延迟造成重复处理。408 收藏 -
MySQL JSON_VALUE 可以直接参与表达式索引。本文以订单 payload 中的 customer_id 为例,说明如何用 RETURNING UNSIGNED 固定类型、用双括号创建索引、让 WHERE 表达式保持兼容,并处理缺失键、JSON null 与转换错误。406 收藏 -
MySQL CTE 变慢时,先确认优化器选择了合并还是物化,再用 NO_MERGE、MERGE 和 SESSION 级 derived_merge 做对照,最后用 optimizer_trace 找到物化代价来自哪里。406 收藏 -
MySQL 8.4 复制过滤看似配置正确却漏表时,重点核对 replicate-wild-do-table 的库表模式、语句中是否显式提到目标表、数据库级规则优先级和复制线程实际加载的配置。405 收藏 -
MySQL 深分页变慢,通常不是 LIMIT 取几十行的问题,而是 OFFSET 让服务器先定位并丢弃前面的大量记录。本文用稳定联合排序和游标条件改写下一页查询,并说明如何用 EXPLAIN 判断索引是否真正接住了边界。405 收藏 -
围绕 MySQL JSON 数组成员检索,说明多值索引的 CAST 定义、查询匹配、EXPLAIN 验证,以及空数组、NULL、JSON null 和大数组边界。404 收藏 -
删除 MySQL 主表记录时遇到外键失败,原因可能是子表仍有引用、约束动作不是预期,或事务锁尚未释放。本文用订单与订单明细场景区分 RESTRICT、CASCADE 和锁等待,并给出可复现的检查命令。403 收藏 -
Redis 延迟升高时,SLOWLOG 能帮助判断究竟是哪条命令在服务端执行过久。本文用 CONFIG SET、SLOWLOG GET 和 RESET 走完一次可复查的定位流程,并说明阈值、保留数量与采样盲区。403 收藏 -
Redis ZMPOP 可以从一个或多个 Sorted Set 中按 MIN 或 MAX 批量弹出成员。本文用 priority:tasks 任务队列说明 COUNT、同分值排序、多个键的选择顺序,以及空集合返回值和并发消费边界。403 收藏 -
用 INFO replication 对照主库与副本 offset,结合链路、同步状态和 backlog 覆盖范围,判断 Redis 副本是在追赶、断链还是需要全量同步。402 收藏 -
MySQL JSON 列不能直接建立普通索引时,可以用生成列抽取稳定的标量值,再按正确类型建立索引。本文说明 JSON_EXTRACT、JSON_UNQUOTE、生成列和 EXPLAIN 之间的关系。401 收藏 -
两张结构一致的订单表合并查询时,UNION ALL 与 UNION 的差别不只是有没有重复数据,还会影响去重、临时表和排序路径。本文用可复现实验拆开两者的边界,并给出选择与验收方法。395 收藏 -
用 MySQL 窗口函数按分组生成稳定行号,再通过 CTE 或派生表筛选组内分页;同时说明 ROW_NUMBER、RANK、DENSE_RANK 的并列差异。395 收藏 -
Redis 8.10 的 XREADGROUP 在多流消费时新增 MAXCOUNT 与 MAXSIZE 参数。本文区分 COUNT 的单流上限和 MAXCOUNT 的总量预算,并说明 PEL、CLAIM 与响应大小如何一起检查。394 收藏