如果你用Postgres做了一些性能调优,你可能用过EXPLAIN.EXPLAIN向你展示了PostgreSQL计划器为所提供的语句生成的执行计划,它显示了语句所引用的表如何被扫描(使用顺序扫描.索引扫描等).它显示了语句所引用的表将如何被扫描(使用顺序扫描,索引扫描等),以及如果使用多个表,将使用什么连接算法.但是,Postgres是如何提出这些计划的呢? 决定使用哪种计划的一个非常重要的输入是计划员收集的统计数据.这些统计数据让计划员能够估计在执行计划的某一部分后会返回多少行,然后影响将使用…