MySQL  8.0.27
Source Code Documentation
Semijoin_mat_optimize Struct Reference

Semijoin_mat_optimize collects data used when calculating the cost of executing a semijoin operation using a materialization strategy. More...

#include <nested_join.h>

Public Attributes

POSITIONpositions {nullptr}
 Optimal join order calculated for inner tables of this semijoin op. More...
 
bool lookup_allowed {false}
 True if data types allow the MaterializeLookup semijoin strategy. More...
 
bool scan_allowed {false}
 True if data types allow the MaterializeScan semijoin strategy. More...
 
double expected_rowcount {0.0}
 Expected number of rows in the materialized table. More...
 
Cost_estimate materialization_cost
 Materialization cost - execute sub-join and write rows to temp.table. More...
 
Cost_estimate lookup_cost
 Cost to make one lookup in the temptable. More...
 
Cost_estimate scan_cost
 Cost of scanning the materialized table. More...
 
Item_field ** mat_fields {nullptr}
 Array of pointers to fields in the materialized table. More...
 

Detailed Description

Semijoin_mat_optimize collects data used when calculating the cost of executing a semijoin operation using a materialization strategy.

It is used during optimization phase only.

Member Data Documentation

◆ expected_rowcount

double Semijoin_mat_optimize::expected_rowcount {0.0}

Expected number of rows in the materialized table.

◆ lookup_allowed

bool Semijoin_mat_optimize::lookup_allowed {false}

True if data types allow the MaterializeLookup semijoin strategy.

◆ lookup_cost

Cost_estimate Semijoin_mat_optimize::lookup_cost

Cost to make one lookup in the temptable.

◆ mat_fields

Item_field** Semijoin_mat_optimize::mat_fields {nullptr}

Array of pointers to fields in the materialized table.

◆ materialization_cost

Cost_estimate Semijoin_mat_optimize::materialization_cost

Materialization cost - execute sub-join and write rows to temp.table.

◆ positions

POSITION* Semijoin_mat_optimize::positions {nullptr}

Optimal join order calculated for inner tables of this semijoin op.

◆ scan_allowed

bool Semijoin_mat_optimize::scan_allowed {false}

True if data types allow the MaterializeScan semijoin strategy.

◆ scan_cost

Cost_estimate Semijoin_mat_optimize::scan_cost

Cost of scanning the materialized table.


The documentation for this struct was generated from the following file: