Go语言技术文章
-
MySQL JSON_TABLE 的普通 PATH 列遇到缺失字段和 JSON null 都可能得到 SQL NULL。本文用 EXISTS PATH 保存字段存在性,再配合 ON EMPTY、ON ERROR 和类型列,区分缺失键、显式 JSON null 与错误输入。102 收藏 -
MySQL recursive CTE 的深度限制要分三层处理:递归成员用业务条件停止,SESSION cte_max_recursion_depth 控制迭代层数,再用 LIMIT 和 MAX_EXECUTION_TIME 做结果规模与耗时兜底。137 收藏 -
MySQL 在分组内取第二条记录,通常先用 ROW_NUMBER() OVER (PARTITION BY ... ORDER BY ...) 编号,再在外层筛选 rn = 2。本文还说明并列值时 ROW_NUMBER、RANK、DENSE_RANK 的区别,以及稳定排序和索引边界。488 收藏 -
MySQL 使用 CREATE TEMPORARY TABLE 可以把中间结果限制在当前连接内,连接关闭后自动清理;但连接池归还不等于断开,复用连接前仍应显式 DROP。本文说明会话可见性、同名表遮蔽、权限和清理策略。428 收藏 -
以 MySQL 8.4 同会话采集为例,说明 optimizer_trace 的设置与恢复、候选路径和代价的阅读方式,以及截断、权限、局部 chosen 标记和运行耗时的判断界限。152 收藏 -
使用 MySQL mysqlbinlog 按时间范围导出增量日志时,关键是把日志文件列表和起止时间同时限定好。本文说明 --start-datetime、--stop-datetime 的边界语义、跨文件导出方式,以及远程读取和空间权限注意事项。498 收藏 -
MySQL 直方图的 sampling-rate 可以说明生成统计信息时读取了多少数据。本文从 COLUMN_STATISTICS 读取采样比例,解释内存上限导致的页级采样,并给出调整预算、重新生成和结合估算偏差判断的方法。309 收藏 -
结合目标列分布变化、直方图元数据与过滤估算判断重采集时机,给出 MySQL 8.4 查询和维护示例,说明手动、自动更新及刷新后计划不变的原因。493 收藏 -
Redis ACL 要同时限制命令集合和键模式。本文用 ACL SETUSER 创建只允许 GET、MGET 访问 cache: 前缀的用户,再比较精确命令、命令类别与排除危险命令的取舍,并用 ACL GETUSER 和 NOPERM 复查结果。255 收藏 -
Redis CLIENT NO-TOUCH 用于控制当前客户端访问键时是否更新 LRU/LFU 触碰状态。本文解释 ON/OFF 语法、连接级作用域、连接池复用风险,以及它与全局淘汰策略的区别。111 收藏 -
Redis SPUBLISH 用于向分片频道发送实时消息。本文说明命令参数、返回值、Redis Cluster 路由边界,并对比 PUBLISH 与 Stream 的适用场景。186 收藏 -
Redis MEMORY PURGE 不是删除键,而是向底层分配器请求回收可释放页。本文解释 jemalloc 限制、执行边界、OK 返回值与后续诊断方法。372 收藏 -
Redis SCAN 采用游标分批遍历,一次调用只返回当前批次。本文说明 cursor、MATCH、COUNT 的真实语义,并给出正确循环和重复处理边界。245 收藏 -
讲清 Redis Functions 在 Redis Cluster 中的预加载方式:为什么单节点 FUNCTION LOAD 不够,如何用 cluster call 加载到所有主节点,以及 REPLACE、键路由、副本和扩容时的边界。440 收藏 -
Redis HELLO 不只是握手命令,还能返回协议版本、服务器版本、连接 ID、运行模式和角色等信息。本文用 redis-cli 说明 HELLO、AUTH 与 SETNAME 的组合方式,并梳理认证失败和旧服务端的处理边界。151 收藏