Go语言技术文章
-
从事务快照建立时机入手,解释 MySQL 默认 REPEATABLE READ 下普通 SELECT 为什么看不到其他会话刚提交的数据,并给出提交事务、READ COMMITTED 与锁定读的选择边界。499 收藏 -
MySQL JSON_UNQUOTE 用来去掉 JSON 字符串值的外层引号,并按 JSON 规则处理转义字符。本文从 JSON_EXTRACT 与 ->> 的差异切入,说明数组、对象、NULL、无效字符串和 NO_BACKSLASH_ESCAPES 的边界,帮助你把 JSON 标量安全交给 SQL 或应用层。209 收藏 -
MySQL 直方图把列值分布补充给优化器,帮助它更准确估算 WHERE 条件的选择率。本文说明如何生成、查看和维护直方图,并用 EXPLAIN 判断它是否改善了计划选择。400 收藏 -
MySQL 可用 REGEXP_REPLACE 将连续普通空格压缩为一个。本文以临时表构建清理示例,区分首尾空格、制表符、换行和 NULL,给出预览、事务试写、回滚及业务字段集成的注意事项。308 收藏 -
MySQL 的 derived_merge 默认允许优化器把派生表合并进外层查询块。本文说明怎样只在当前会话临时关闭它、如何查看与恢复设置,以及为什么 EXPLAIN 计划有时仍不会改变。423 收藏 -
MySQL FOR SHARE 是 InnoDB 的锁定读语法:读取符合条件的行并加共享锁,适合在同一事务中先检查再处理。本文对比普通一致性读,说明事务边界、等待行为、NOWAIT、SKIP LOCKED 和常见误区。389 收藏 -
MySQL DENSE_RANK 可让同一分组内的同分记录共享名次,并让后续排名连续。本文用派生表处理前 N 名筛选,说明 PARTITION BY、ORDER BY 以及 DENSE_RANK、RANK、ROW_NUMBER 的边界。161 收藏 -
MySQL 隐形索引可用于观察查询失去某条索引后的影响,并保留恢复可见性的方式。本文给出 MySQL 8.4 示例,说明负载基线、执行计划、退化信号、恢复命令,以及维护成本、约束和物理删除的区别。500 收藏 -
MySQL 降序索引不是给 ORDER BY DESC 随手加一个关键字就能生效。本文从 InnoDB 联合索引、WHERE 等值条件、混合 ASC/DESC 排序和 EXPLAIN 判断入手,说明怎样减少 filesort,以及哪些场景仍会反向扫描或无法使用降序索引。121 收藏 -
MySQL SHOW WARNINGS 读取当前会话最近语句的诊断信息。本文用数据截断和隐式转换场景说明 warning_count、SHOW COUNT(*) WARNINGS、max_error_count、sql_mode 与 sql_notes 的区别,帮助定位警告为何出现或为何列表不完整。188 收藏 -
本文说明 Redis Streams 中如何先检查消费者和 Pending 消息,再转移或确认遗留消息,最后使用 XGROUP DELCONSUMER 清理不再活跃的消费者记录,并区分它与删除整个消费者组的区别。327 收藏 -
Redis MEMORY USAGE 返回指定 key、值和管理开销的字节估算;集合型对象还要结合 SAMPLES 与 INFO memory 区分单键占用、实例分配和 RSS。296 收藏 -
通过假设故障说明redis-py普通管道的逐条响应处理,给出保留命令位置、区分ResponseError和连接未知状态的原创只读函数。178 收藏 -
Redis BLMOVE 用一个命令从来源列表弹出元素并压入目标列表,适合把待处理任务转移到处理中队列。本文拆解来源端、目标端、阻塞等待和超时返回,说明怎样避免方向写反和空列表误判。282 收藏 -
Redis 启用双向 TLS 后,客户端不只要打开 --tls,还要正确提供受信任 CA、客户端证书和对应私钥。本文从 redis-cli 到 Go tls.Config,给出一套不暴露真实凭据的连接检查方法,并按错误位置区分证书、握手和 ACL 问题。475 收藏