Vectorized execution engine

Vectorized execution engine is a high-performance execution engine specially designed for column-oriented storage engines (such as MARS2 and AOCO). For common queries, there is one to two orders of magnitude performance improvement compared to traditional execution engines oriented towards row processing.
Compared with scalar execution engines, the performance benefits of vectorized executors come from the following aspects:

  • Batch processing reduces execution overhead
  • Small batch processing improves data popularity, improves data access performance by keeping data in the CPU cache
  • Select the best processing path according to data characteristics
  • Reduce function call overhead and can further improve efficiency by utilizing the CPU's SIMD (Single Instruction, Multiple Data) directive
  • Column-by-column processing on-demand loading to avoid loading useless data

We will explain vectorization in detail from the following aspects.

Fast vectorization starts

Vectorization Best Practice

Runtime Filter Optimization Technology