Go语言技术文章
-
MySQL Prepared statement 通常按会话缓存内部结构;引用表或视图的元数据变化、表定义缓存刷新时,下一次执行会自动重新预编译。本文用触发清单和 Com_stmt_reprepare 说明排查边界。387 收藏 -
Redis 7.4 开始支持 Hash 字段级 TTL。本文对比 HEXPIRE 与整 key EXPIRE 的适用场景、覆盖规则、版本边界和最小检查方法,帮助按数据生命周期选择更稳妥的过期策略。386 收藏 -
MySQL CHECK 失败后,先从错误中取得约束名,再用 SHOW CREATE TABLE 和 INFORMATION_SCHEMA.CHECK_CONSTRAINTS 反查表达式,最后把候选值拆成多个布尔子条件逐列计算。本文还说明 TRUE、FALSE、UNKNOWN、NULL 与隐式类型转换的差异。386 收藏 -
Redis Stream 保留消息时,MAXLEN 适合固定条数窗口,MINID 适合按时间或事件 ID 淘汰。本文比较近似与精确裁剪,并给出复查与消费组判断清单。385 收藏 -
MySQL 复制过滤不是按配置文件书写顺序覆盖,而是先改写库名,再判断库级规则,最后按精确表 do、精确表 ignore、通配表 do、通配表 ignore 的固定顺序命中即退出。本文结合 STATEMENT、ROW 与 DDL 的差异,给出可推演的判断方法。382 收藏 -
MySQL JSON 列不能直接按任意路径高效过滤时,可以用 generated column 把固定路径提取成可索引的 SQL 类型。本文从表达式、字符排序规则、VIRTUAL/STORED 和 EXPLAIN 四个方面给出实现方法与边界。377 收藏 -
MySQL JSON_OVERLAPS 用于判断两个 JSON 文档是否存在共同元素,适合筛选标签、权限或适用范围数组。本文给出查询写法,并说明 JSON_CONTAINS、类型精确匹配、NULL、嵌套数组和 InnoDB 多值索引的边界。376 收藏 -
Redis SREM 的返回值就是本次实际从 Set 中删除的成员数量,不包含不存在的成员。本文用命令行和 Go 客户端说明如何读取这个数字,并区分 0 个命中、键不存在与类型错误。374 收藏 -
数据库 · MySQL | 1星期前 | MySQL · InnoDB · 数据库运维 · mysql 死锁 错误日志 events_statements_history_long data_lock_waits Performance Schema
MySQL 可用错误汇总表统计 1213,用语句历史表定位受害 SQL,用锁表观察当前阻塞;完整死锁图仍应写入错误日志长期留存。372 收藏 -
Redis t-digest的COMPRESSION用于权衡分位数估算精度与内存。本文通过两种配置的命令示例,说明相同样本、INFO内存记录、分位数基线及空摘要的处理边界,避免套用固定误差承诺。370 收藏 -
Redis ZPOPMIN 会在返回最低分成员的同时把它从有序集合删除,消费者崩溃时可能造成任务丢失。本文用处理中集合、幂等键和超时回收补上这个窗口。369 收藏 -
Redis Pub/Sub 采用至多一次交付,客户端断线后没有历史重放。本文用 Stream、消费组、XACK 与 XPENDING 搭建可恢复消费结构,并说明重试、幂等、保留和广播场景的边界。369 收藏 -
Redis GETBIT 读取不存在的 key 或超出字符串范围的 offset 时会把未定义位置视为 0,因此返回 0 不等于命令失败。本文从参数语义、正常返回、错误分支和 Go 调用示例说明如何正确处理。367 收藏 -
Redis HyperLogLog 用固定空间估算去重数量,本文用 PFADD、PFCOUNT 和 PFMERGE 说明误差、分片合并及适用边界。364 收藏 -
用同一条 SQL 固定更新前后口径,结合 EXPLAIN、SHOW INDEX 和 COLUMN_STATISTICS 判断 ANALYZE TABLE 是否改变了优化器计划,并给出统计信息异常时的回退思路。364 收藏