计算机工程与应用 ›› 2014, Vol. 50 ›› Issue (14): 31-38.
宋晓眉1,2,叶晓俊1,曾小青2,3,谢 东2
SONG Xiaomei1,2, YE Xiaojun1, ZENG Xiaoqing2,3, XIE Dong2
摘要: 研究了PostgreSQL查询引擎中等价类在查询优化过程中的应用原理,详细阐述了其如何帮助优化器产生潜在的等值连接,等式约束和记录排序信息。同时也发现PostgreSQL查询引擎并没有充分利用等价类的属性约简特性,以及等价类成员的过滤条件共享等特性,导致一些“最优”计划优化策略不能实施。因此,详细介绍了基于等价类的查询框架,并对PostgreSQL的查询框架进行了改进:将等价类的创建在整个查询分析执行过程提前,对数据关联逻辑进行化简;利用等价类的传递性,将一些非等值约束能够传递到其他的表列,最终可以实现减少资源耗用提升查询性能的目的。实验结果表明,改进后的PostgreSQL可以使得一些查询的效率有不同层次的提高。