已采纳
回答正文
回复
讨论正文
该问题的正文与回答。
我们使用 H2 数据库管理一个日志审计系统,核心表 t_audit_log 规模达到 4800 万行、单表 62GB、InnoDB、MySQL 8.0.32,部署在 16C64G、NVMe 本地盘的服务器上。业务方反馈该表的某高频查询 P99 超过 4.6s,严重影响系统性能。
该查询 SQL 的关键问题是索引选择不当和 SQL 写法。通过 EXPLAIN 分析发现,查询实际走的是全表扫描,而 EXPLAIN ANALYZE 进一步确认了其真实耗时与扫描行数。
EXPLAIN 和慢日志分析,确认 SQL 的执行计划和实际扫描行数。status 字段的基数很低(只有 0/1),加索引意义不大。EXPLAIN 的估算值与实际值一致。