数据库
已收录文章:40篇
-
MySQL 组合索引不是把常用字段随意拼在一起。本文用等值条件、范围条件和排序三个场景说明列顺序如何影响扫描范围,并给出 EXPLAIN 验收方法。359 收藏
-
数据库 · MySQL | 1个月前 | MySQL · 数据库 · 性能监控 · MySQL performance_schema events_statements_history_long DIGEST 异常 SQL 语句历史MySQL 的 performance_schema 会把近期语句按事件记录下来,DIGEST 还能把字面量不同的同类 SQL 归并观察。本文用 events_statements_history_long 说明如何抓取异常语句、区分总耗时与单次耗时,并处理历史表为空、采样范围有限等问题。352 收藏
-
订单列表把渠道、会员等级放进 JSON 后,筛选条件容易变成逐行计算。本文用 MySQL 生成列和索引把 JSON 路径变成可核对的查询字段,同时处理缺失键、空字符串、类型转换和写入成本。351 收藏
-
从一个不存在的商品 ID 被反复查询的场景出发,演示 Redis 空值保护的最小实现,说明 TTL、并发回源、数据新建和主动失效之间如何配合。333 收藏
-
Redis 8.4 新增 MSETEX,可在一次操作中写入多个字符串键并共享过期策略。本文从旧式 MSET 加 EXPIRE 的等待链出发,核对 NX、XX、EX、PX、EXAT、PXAT 和 KEEPTTL 的边界,给出升级前后的验收方法。314 收藏
-
面向线上 Redis 内存告警的运行手册,覆盖触发信号、INFO memory 快速判断、bigkeys 排查、maxmemory 与淘汰策略检查、临时止血、回滚和复盘清单。313 收藏
-
用一组可复现的 MySQL 8.4 示例,讲清 INTERSECT 与 EXCEPT 的 DISTINCT/ALL、列数和类型边界,以及 NULL、优先级、ORDER BY 的验收方法。287 收藏
-
从 Redis 缓存治理趋势出发,分析单一 TTL 的不足,给出软过期、写侧失效通知、新鲜度指标和渐进落地路径,帮助团队在高峰流量下减少脏读窗口。280 收藏
-
通过一个可复现的小实验,从订单列表慢查询开始,初始化表和数据,添加复合索引,再用 EXPLAIN 检查 Using index,理解覆盖索引的适用边界。276 收藏
-
Python 3.14 标准库支持 UUIDv7。本文从日志和数据库主键场景拆开时间字段、随机性、字符串排序与时钟回拨边界,并给出迁移验收方法。274 收藏
-
清理 MySQL 大表历史数据时,直接 DELETE 大范围记录容易造成锁等待和事务膨胀。本文用主键游标、固定批次、执行计划和可暂停的回滚窗口,搭出一套可观察的分批清理方案。273 收藏
-
MySQL 8.4 的 CTE 不一定会生成临时结果集。本文用 EXPLAIN 和 optimizer_switch 判断 CTE 是被合并还是物化,并说明 derived_merge、NO_MERGE 与多次引用的边界。253 收藏