Hi all,
I’m learning query optimization recently. As known, Calcite uses a volcano 
optimizer which is different from other optimizers such as SparkSQL’s Catalyst. 
But I’m curious how does volcano optimizer implement rules like `ColumnPruning` 
in Catalyst? Or which transformation rule does Calcite use to achieve it?
For example, we have such a SQL:

select a from t where b > 10;

If the schema of t is `a int, b int, c int, …`, we only need two columns ‘a’ 
and ‘b’ when scan table ‘t’.


Mingcong Han
2019.9.12

Reply via email to