Go语言技术文章
-
用 MySQL LOAD DATA 导入 CSV 时出现列错位,通常不是表结构突然变化,而是字段分隔符、引号规则或 Windows 行尾与实际文件不一致。本文用可复现的订单导入例子定位并修正。339 收藏 -
Redis SINTERCARD 只返回多个集合的交集数量,不传输成员列表,适合做资格预检、标签重合度判断和批量过滤。本文从最小可运行示例开始,核对返回值、LIMIT 提前停止、键类型错误与 Redis Cluster 的同槽边界。331 收藏 -
Redis WAIT 等待副本确认,WAITAOF 等待本地或副本 AOF fsync;两者都不能把异步复制变成强一致,选择时要先分清复制安全与磁盘持久化目标。327 收藏 -
解释 Redis HSCAN 的 COUNT 参数为什么只是提示值,演示如何用游标循环完整遍历 Hash,并通过批次上限控制客户端内存与处理耗时。319 收藏 -
用 performance_schema.data_lock_waits 连接等待锁与持有锁,再回到 data_locks 和线程事件核对对象、事务和处理顺序,避免只看到一个线程就误判。312 收藏 -
MySQL 字符串排序异常,通常不是 ORDER BY 失效,而是列、连接或表达式使用的校对规则不同。本文用 utf8mb4 校对规则、大小写敏感和 COLLATE 覆盖,给出可复现的排查与修正方法。302 收藏 -
MySQL 8.0 及以上可以先把二级索引设为不可见,让优化器停止使用它却继续维护索引。本文用订单查询演示 SHOW INDEX、ALTER INDEX INVISIBLE、EXPLAIN 和回滚检查,说明什么证据足够支持 DROP INDEX。299 收藏 -
批量更新从几百行扩大到几十万行后,慢点往往不在 UPDATE 语句本身,而在索引维护、锁持有时间和事务日志压力。本文用订单归档场景拆开原因,并给出按主键分批提交的验收边界。291 收藏 -
Redis 设置 EXPIRE 后,键不会按秒表准点从内存消失。本文用 TTL、INFO memory 和 MEMORY USAGE 区分惰性删除、定期抽样与大值回收,给出可复查的排查顺序和参数边界。291 收藏 -
用 MySQL 8.0 隐形索引在不删除索引的前提下做查询计划对照,核对 EXPLAIN、实际耗时和恢复动作,降低索引下线风险。291 收藏 -
数据库 · Redis | 1天前 | Redis · 队列 · 并发控制 · 故障排查 · Sorted Set · redis Sorted Set ZPOPMIN ZMPOP 并发消费 业务顺序
Redis ZMPOP 可以从 Sorted Set 原子取出最小分值成员,但批量弹出后的业务顺序、空结果和多消费者并发仍需要单独设计。本文用 redis-cli 拆开 MIN、COUNT、分值返回和单消费者批处理边界。280 收藏 -
MySQL 隐形索引适合用来验证一个索引是否仍被优化器需要。本文以订单查询为例,演示如何将索引设为不可见、用 EXPLAIN 对比计划、观察线上指标,并在结果不理想时快速恢复。278 收藏 -
MySQL 8.4 的 INSERT 语法没有通用的 RETURNING 子句。本文用订单写入场景解释为什么不能把 PostgreSQL 式写法直接搬过来,并给出 LAST_INSERT_ID、事务内 SELECT 和多行写入的核对边界。278 收藏 -
数据库 · MySQL | 4小时前 | MySQL · 索引 · 数据库 · 执行计划 · 性能排查 · 执行计划 cost_info MySQL EXPLAIN FORMAT=JSON rows_examined_per_scan 索引选择
用一个订单查询拆解 MySQL EXPLAIN FORMAT=JSON:怎么看 cost_info 和 rows_examined_per_scan,如何把估算行数、过滤条件与索引选择对上,避免只盯着 type=ALL 下结论。276 收藏 -
数据库 · MySQL | 2天前 | MySQL · InnoDB · 数据库备份 · 运维实践 · mysql innodb mysqldump 逻辑备份 --single-transaction
用一个可复查的导出命令讲清 mysqldump --single-transaction 的一致性边界:InnoDB 为什么能在不锁表的情况下读取同一快照,MyISAM 与 DDL 操作又会带来哪些风险。273 收藏