数据库
已收录文章:40篇
-
PDOStatement::fetchColumn() 读取单列很方便,但 0、NULL、false 和无结果分别代表什么,不能靠 if 判断猜。本文用 PHP PDO 查询场景拆开返回值边界,并给出行存在性、空值和布尔字段的验收写法。147 收藏
-
数据库 · MySQL | 4星期前 | MySQL · 数据库 · 死锁 · InnoDB · 性能排查 · mysql innodb 死锁 事务 LATEST DETECTED DEADLOCK 锁顺序MySQL 发生死锁后,不能只看报错回滚。本文从 SHOW ENGINE INNODB STATUS 的 LATEST DETECTED DEADLOCK 还原事务、锁资源和等待关系,再用相反锁顺序构造最小复现并给出上线前验收清单。480 收藏
-
从一个不存在的商品 ID 被反复查询的场景出发,演示 Redis 空值保护的最小实现,说明 TTL、并发回源、数据新建和主动失效之间如何配合。333 收藏
-
Python sqlite3 中回滚失效,常见原因不是 rollback() 写错,而是提交时机、异常捕获范围和连接边界没有对齐。本文用订单写入示例拆开事务生命周期、异常复现、上下文管理器和嵌套调用的验收方法。387 收藏
-
从 CLUSTER KEYSLOT 和 CRC16 哈希槽入手,定位 Redis Cluster 的 CROSSSLOT 报错,用 Key Tag 设计同槽键名,并验收 MGET、MULTI 与 Lua 的批量访问边界。170 收藏
-
数据库 · MySQL | 4星期前 | MySQL · 数据库 · 权限管理 · 故障排查 · 账号安全 · 账号锁定 MySQL 8.4 FAILED_LOGIN_ATTEMPTS PASSWORD_LOCK_TIME ACCOUNT UNLOCKMySQL 8.4 账号因为连续输错密码被临时锁定时,不能只看一条 Access denied。本文用 SHOW CREATE USER、Locked_connects 和失败登录记录区分锁定原因,并给出安全解锁、策略修正与复查步骤。494 收藏
-
MySQL 生产表在线加索引时,真正需要盯住的是 DDL 算法、元数据锁和回滚条件。本文用一套可执行的检查流程,说明如何先判断可用算法,再观察阻塞与进度,最后用低风险方式完成变更。230 收藏
-
Redis CONFIG SET 只改变当前进程的生效值,重启后仍可能恢复旧配置。本文用 CONFIG GET、CONFIG REWRITE、文件校验和重启后的再次查询,核对配置路径、权限、默认值、集群节点与回滚边界。204 收藏
-
MySQL 8.4 的 CTE 不一定会生成临时结果集。本文用 EXPLAIN 和 optimizer_switch 判断 CTE 是被合并还是物化,并说明 derived_merge、NO_MERGE 与多次引用的边界。253 收藏
-
读写分离最容易出问题的地方不是把查询发到副本,而是写后读、事务边界和主副本切换时的会话状态。本文用 MySQL 8.4 的 GTID 等待与路由规则,搭一套可核对、可回切的处理方法。135 收藏
-
MySQL REGEXP_LIKE 匹配结果不稳定时,先拆开字符集、排序规则、大小写和反斜杠四个边界。本文给出一套可复现的排查 SQL、修复写法与验收清单。157 收藏
-
Python 3.14 标准库支持 UUIDv7。本文从日志和数据库主键场景拆开时间字段、随机性、字符串排序与时钟回拨边界,并给出迁移验收方法。274 收藏