In the process of optimization, Cascades will keep track of many of the intermediate tables that could be used in computing the final result table.
Cascades calls the memo structure .
To understand the memo data structure, consider how the initial query is represented. Each node of the initial query tree is a group. Figure 3.3a shows the memo structure after the query tree shown in figure 3.2b has been copied in. Because Cascades expressions use groups as inputs, and each group, in general, contains several logical expressions, each logical expression actually represents many distinct query trees.