Go语言技术文章
-
MySQL 8.4 中,可以只给一条只读 SELECT 设置毫秒级时间上限,不改变连接池里的全局会话默认值。本文用慢查询示例说明语句提示、会话变量、错误验证和不适用边界。247 收藏 -
从年龄计算的失败 DDL 出发,解释 MySQL 生成列的确定性要求,并对比动态查询、VIRTUAL、STORED 和生成列索引的选择。247 收藏 -
解释 MySQL 8.4 全局变量与连接会话变量的初始化关系,使用会话状态跟踪观察赋值变化,并给出连接池复用旧会话变量时的核对、修复与回归方法。245 收藏 -
MySQL EXPLAIN 的 filtered 很低,不等于索引一定失效。本文从 rows 与 filtered 的乘积、残余条件、实际执行行数和统计信息入手,给出先查什么、何时 ANALYZE TABLE、何时再改索引的排查顺序。244 收藏 -
围绕 (tenant_id, status, created_at) 示例,说明跳过复合索引最左列后普通访问、Skip Scan、EXPLAIN 判断和索引调整方案。244 收藏 -
Redis MEMORY USAGE 返回的是单个键及其值的内存估算,不等于整个实例的 used_memory。理解默认 SAMPLES 5、SAMPLES 0 和 INFO memory 的边界,才能正确判断嵌套对象与容量问题。242 收藏 -
MySQL 用 ROW_NUMBER 取每组最新记录时,如果时间相同,必须补充唯一且符合业务的排序键;若要保留全部并列最新行,应改用 RANK。本文用订单状态示例说明两种写法和检查清单。242 收藏 -
本文用 GEOSEARCH 演示 Redis 地理距离筛选,说明 FROMLONLAT、BYRADIUS、ASC、COUNT、WITHDIST 和 WITHCOORD 的组合方式,并排查空结果、单位误读、坐标顺序和 ANY 截断问题。242 收藏 -
用 Redis HSCAN 的 cursor 循环渐进读取大型 Hash,解释 COUNT、MATCH、NOVALUES 的边界,以及数据变化时如何用幂等处理降低重复和漏读风险。237 收藏 -
MySQL 中同一条语句多次引用 CTE,通常只会物化一次;本文用 EXPLAIN 和 optimizer_trace 区分共享结果、自动索引与真正重复工作。237 收藏 -
Redis 7.4 以后可以给 Hash 的单个 field 设置过期时间。本文说明 field 到期后 HGETALL 的实际返回、空 Hash 判断,以及用 HTTL 排查 HSET 覆盖清除 TTL 的方法。236 收藏 -
介绍 Redis Sentinel 通过服务名获取当前主节点地址的配置与客户端实现,覆盖切换刷新、连接重建、端口映射和异步复制边界。236 收藏 -
从 EXPLAIN 的 key、key_len、type 和 Extra 入手,判断 MySQL 复合索引没有按预期生效的原因,并用最小 SQL 验证最左匹配、范围条件和排序顺序。235 收藏 -
围绕 mysqldump 讲清 InnoDB 一致性导出、对象清单、恢复先后和结果核对,帮助你规划一份真正可恢复的 MySQL 逻辑备份。235 收藏 -
Redis ACL 不只是给用户加密码,还要把命令类别、键名范围和连接验证一起收紧。本文用 SETUSER 配置一个只读报表账号,核对 ACL LIST、ACL DRYRUN 与真实连接的权限边界。234 收藏