Go语言技术文章
-
MySQL 日期范围查询没有触发分区裁剪,通常与分区表达式不匹配、日期列被函数包裹、类型转换或范围过宽有关。本文用 SHOW CREATE TABLE、INFORMATION_SCHEMA.PARTITIONS 和 EXPLAIN 的 partitions 列定位原因,并给出半开区间改写方法。201 收藏 -
Redis 收不到 expired 事件,通常是 notify-keyspace-events 缺少 E/K 或 x、频道与数据库编号不匹配,或误把 TTL 归零当成事件发送时刻。本文给出最小配置、频道对照和集群排查清单。291 收藏 -
MySQL CHECK 失败后,先从错误中取得约束名,再用 SHOW CREATE TABLE 和 INFORMATION_SCHEMA.CHECK_CONSTRAINTS 反查表达式,最后把候选值拆成多个布尔子条件逐列计算。本文还说明 TRUE、FALSE、UNKNOWN、NULL 与隐式类型转换的差异。386 收藏 -
MySQL GTID 自动定位可让副本按已执行事务集向新源请求缺失事务。本文给出候选源核对、SOURCE_AUTO_POSITION 切换命令、状态验收和已清理 GTID 的处理边界。110 收藏 -
Redis FCALL 只按函数名调用,版本化不能依赖库名限定。本文比较同名覆盖、版本函数并存和单库路由三种方案,并给出可回滚的发布示例与检查清单。149 收藏 -
Redis 客户端缓存要避免脏读,重点是正确启用 CLIENT TRACKING 并处理 INVALIDATE 消息。本文比较默认跟踪、OPTIN、OPTOUT、BCAST 与 NOLOOP,说明连接池、跟踪表容量和数据库编号带来的边界。115 收藏 -
MySQL 生成列没有单独的刷新按钮:依赖列变化时,存储生成列和它的索引在行写入过程中维护,虚拟生成列则在读取时计算。本文用最小 SQL 区分两种时机,并排查事务可见性与执行计划未用索引的常见误判。201 收藏 -
Redis Cluster 中只有同槽 key 才能稳定执行多键命令。本文用哈希标签统一业务实体的槽位,配合 CLUSTER KEYSLOT 验证命名,并说明空标签、热点和迁移边界。463 收藏 -
MySQL EXPLAIN ANALYZE 中的 loops 表示迭代器实际执行次数。本文结合 rows、actual time 和嵌套循环 JOIN,说明如何读懂它并定位估算偏差。190 收藏 -
Redis Vector Set 使用 VSIM 的 EPSILON 按相似度门槛过滤结果。本文说明 EPSILON 是距离上限,给出相似度阈值换算公式,并区分 COUNT、WITHSCORES、FILTER、EF 与 TRUTH。433 收藏 -
MySQL 的 JSON 标量提取结果未必天然适合作为函数索引键。本文说明 JSON_UNQUOTE 返回 LONGTEXT 时为什么需要 CAST,并给出字符串、数值、金额类型的索引与查询匹配写法。204 收藏 -
Redis 7.4 起可用 HEXPIRE 或 HPEXPIRE 给 Hash 中的指定字段设置独立过期时间。本文给出完整命令流程、HTTL/HPTTL 检查方法、条件选项、覆盖字段清除 TTL 的边界,以及旧版本替代方案。228 收藏 -
数据库 · MySQL | 1星期前 | MySQL · 事务 · InnoDB · 锁定读 MySQL NOWAIT FOR UPDATE NOWAIT FOR SHARE NOWAIT InnoDB行锁 ERROR 3572
MySQL 锁定读默认会等待冲突行锁,追加 NOWAIT 后可立即返回 3572 错误。本文用双连接示例说明 FOR UPDATE NOWAIT 的写法、事务回滚、错误处理,以及它与默认等待和 SKIP LOCKED 的边界。253 收藏 -
Redis Streams 幂等生产应优先按版本选择 XADD 的 IDMP/IDMPAUTO,旧版本用 SET NX 配合业务幂等号,并区分生产去重、消费确认与业务落库幂等。295 收藏 -
用一组混合 JSON 数据拆开 JSON_TABLE 的缺失路径、类型转换、默认值与报错边界,给出可直接改写的 SQL 配置方法。251 收藏