讲师介绍:徐怀宇,TiDB 研发工程师,目前主要负责查询执行引擎相关工作。
本次分享徐怀宇老师为大家介绍了论文《Everything You Always Wanted to Know About Compiled and Vectorized Queries But Were Afraid to Ask》,主要包括:
介绍经典 Volcano 模型的执行流程,并分析其运行时性能。
介绍行存、列存的基本概念,并进而引出向量化执行,分析其如何克服经典 Volcano 模型的缺点。
介绍代码生成的基本概念,结合案例分析其如何克服经典 Volcano 模型的缺点。
最后,结合论文内容,重点从 micro-architecture, data-parallel execution 两个方面,分析对比向量化执行和代码生成的特性,进而引出论文结论:向量化执行在 memory-bound 类的查询中更有优势,代码生成在 calculation-heavy 类的查询中更有优势。但是总体来看,在 OLAP 场景中,向量化执行和代码生成的执行性能相近。
延伸阅读 :