The optimizer creates a query “tree” that represents the flow of data in the query. The query plan presents the query tree in text form in the .iqmsg file, and optionally in graphical form.
The query tree consists of nodes. Each node represents a stage of work. The lowest nodes on the tree are leaf nodes. Each leaf node represents a table or a prejoin index set in the query.
At the top of the plan is the root of the operator tree. Information flows up from the tables and through any operators representing joins, sorts, filters, stores, aggregation, and subqueries.