4.1.3.1 统计信息收集与基数估计 (Cardinality Estimation) 你有没有遇到过这样的场景? 一条 SQL 执行耗时从 200ms 突然飙升到 12 秒,执行计划里明明走的是索引扫描( ),却在 阶段卡死半分钟;或者更诡异的是——同样的查询,在测试库毫秒级返回,在生产库却触发了全表扫描, 显示 ,而实际扫描了 870 万行;又或者,你刚对一张 5 亿行的订单表执行完 ,却发现 里 居然为空, 是 , 接近 …… 这不是玄学。这是基数估计(Cardinality Estimation)在对你冷笑。 在基于代价的优化器(CBO)世界里,统计信息不是“辅助材料”,而是优化器的氧气、血压计和脑电图三合一。没有它,优化器不是“保守”,而是“失明”;不是“谨慎”,而是“胡猜”。