用途:对数据库层做只读审计,找出会表现为慢查询、静默数据损坏和生产环境无法执行迁移的设计缺陷。只报告发现与结论,绝不修改模式、数据或代码。依据仓库中的模式文件、迁移和查询调用点工作;实时连接可选,存在时也仅只读。
主要能力:分四条审计轨道。A 模式设计:主键与外键、避免 EAV/MUCK、精确类型(金额用整数最小单位或 NUMERIC,不用 FLOAT)、时间戳带时区、瞬态数据有 TTL、多租户模型与 tenant_id 过滤。B 查询与索引:禁止生产查询点 SELECT *、识别 N+1、可索引谓词、索引清单与冗余索引、执行计划证据。C 完整性与并发:约束(NOT NULL、UNIQUE、CHECK、外键)、多行不变量用事务、并发更新策略(乐观锁或 SELECT … FOR UPDATE)、隔离级别与超时。D 迁移与运维:前向版本化迁移、破坏性变更用 expand/contract、依赖对象清单、恢复路径演练、幂等种子、连接池。
使用方式:先确定范围与引擎版本,定位事实来源,读项目术语表,先读模式再查查询点,用 ripgrep 扫描 ORM 与原生 SQL;有实时连接时从真实负载(按总时间排序的语句统计或慢查询日志)入手。输出以结论和范围开头,按影响排序列出发现,标注轨道、文件行号或表列、缺陷、证据、修复方向、严重度与置信度;未覆盖部分列入 NOT ASSESSED。
适用场景:数据库设计评审、上线前检查、迁移前评估、性能问题排查。
限制:只读,不执行写操作;执行计划(EXPLAIN ANALYZE)会运行被测语句,实时库上仅用于读,写操作只给估算计划或建议在一次性副本上执行;无实时连接时基于负载的部分标记为未评估;注入与访问控制、运行时性能剖析、应用层命名分层分别属于其他审计技能;无证据的“感觉不对”返回 NOT ASSESSED。