Go语言技术文章
-
MySQL 使用 ROW_NUMBER() 遇到并列排序值时,不能依赖数据库自行决定顺序;为窗口 ORDER BY 补上唯一键,并同步外层排序,才能让编号、Top N 和分页结果稳定可复现。418 收藏 -
解释 Redis 8.10 Compact Hash 如何让大量同结构 Hash 共享字段名,并给出适用条件、HIMPORT 关系、内存指标和不适用边界。417 收藏 -
MySQL 隐形索引不等于停用索引:唯一性仍会维护,主键和隐式主键有额外限制。本文结合复合索引列顺序、表达式一致性、回表与 EXPLAIN 给出灰度检查方法。416 收藏 -
MySQL 用 ROW_NUMBER 去重时,先按业务键分组并定义稳定排序,再在外层筛选 rn=1,就能保留每组一条完整原始行。本文给出预览、边界检查和安全清理写法。416 收藏 -
DISTINCT 可用于视图定义,但必须紧随 SELECT 后、禁止独立 ORDER BY;其作用于整行而非单字段,无法替代正确建模或实现按业务规则去重,且导致视图不可更新。DISTINCT 能直接用在视图定义里,但必须放对位置、避开 ORDER BY,且后续基本不能更新 创建含 DISTINCT414 收藏 -
MySQL 8.4 事件调度器适合承接数据库内的周期任务。本文用订单归档场景讲清 CREATE EVENT、执行记录、权限与停用检查,避免任务建好了却没人知道是否真的运行。414 收藏 -
Redis Hash 适合把对象拆成多个 field。本文用 HSET 和客户端示例说明如何只更新一个子键,减少大对象读写,并处理返回值、并发覆盖与过期时间边界。414 收藏 -
热点商品详情被每个接口实例重复读取时,可以用 Redis 的 CLIENT TRACKING 把副本留在进程内存,同时接收键变更失效消息。文章给出 BCAST 前缀划分、失效处理和断线回收的实战流程。413 收藏 -
数据库 · MySQL | 1个月前 | MySQL · 权限管理 · 备份 · mysqldump · 数据库安全 · 最小权限 mysqldump备份账号 MySQL角色 partial_revokes 备份权限
给线上备份任务单独建角色,先用数据库级权限限制范围,再用 partial_revokes 阻断 mysql 系统库访问,最后通过 SHOW GRANTS 和只读验证确认边界。本文用 orders_app 与 audit_db 两个库演示权限收紧、审计检查和回退方法。413 收藏 -
MySQL 的 NOT IN 查询突然查不到数据,常见原因是列表或子查询结果含有 NULL。本文从三值逻辑解释这个现象,并用 NOT EXISTS、IS NULL 和过滤 NULL 的写法建立可检查的排除条件。413 收藏 -
报表系统不要直接拿高权限账号连生产库。更稳的做法是用视图收敛字段,通过专用只读账号授予 SELECT,再用 SHOW GRANTS 和审计日志复查权限边界。412 收藏 -
MySQL XA 事务进入 PREPARED 后,连接断开并不代表事务已经消失。本文从 XA RECOVER、事务分支和业务提交记录入手,说明如何区分可提交、可回滚和需要人工确认的状态,并给出恢复前后的验收边界。412 收藏 -
Redis GEOSEARCH 的距离单位不是展示格式,而是过滤半径的一部分。本文用 M、KM、FT、MI 对照示例,说明如何选单位、核对坐标、验证返回距离并处理边界。412 收藏 -
MySQL 函数索引不生效时,先检查双括号、表达式是否一致、结果类型是否相同,再用 EXPLAIN 区分不匹配与优化器成本选择。412 收藏 -
Redis Sentinel 切主后客户端频繁重连,通常要从主观下线、+switch-master 事件、服务发现和连接池旧连接四个边界排查;本文给出一次可回滚的定位路径。409 收藏