他的回复:
浅析PostgreSQL并行查询代价估算博文链接:https://bbs.huaweicloud.com/blogs/153103笔记:PostgreSQL查询优化代价估算基于CPU开销和IO开销,计算公式为:总代价 =启动代价 + I/O代价 + CPU代价COST = S + P + W * TP为计划运行的时访问的页数,反映了I/O花费,T为访问的元组数,反映了CPU花费(存储层是以页面为单位,数据以页面的形式被读入内存,每个页面上可能有多条元组,访问元组,需要解析元组结构,才能把元组上的字段读出,这消耗的是CPU),W为权重因子,表明I/O到CPU的相关性,又称为选择率(selectivity)。在System-R算法中,每个可能的选择率固化在代价估计的代码中,而在数据字典中存储代价公式和需要的统计信息。而PostgreSQL选择率的处理较为特殊,每个选择率公式使用一个参数化的过程(函数)来表达,选择率计算通过将限制条件中的关系、属性、常量信息和索引标识符以及索引键数目等参数传递给相应的过程来计算。