My Project
|
#include <sql_select.h>
Public Member Functions | |
void | no_semijoin () |
void | set_prefix_costs (double read_time_arg, double row_count_arg) |
Public Attributes | |
double | records_read |
double | read_time |
JOIN_TAB * | table |
Key_use * | key |
table_map | ref_depend_map |
bool | use_join_buffer |
Cost_estimate | prefix_cost |
double | prefix_record_count |
uint | sj_strategy |
uint | n_sj_tables |
table_map | dups_producing_tables |
uint | first_loosescan_table |
table_map | loosescan_need_tables |
uint | loosescan_key |
uint | loosescan_parts |
uint | first_firstmatch_table |
table_map | first_firstmatch_rtbl |
table_map | firstmatch_need_tables |
uint | first_dupsweedout_table |
table_map | dupsweedout_tables |
uint | sjm_scan_last_inner |
table_map | sjm_scan_need_tables |
A position of table within a join order. This structure is primarily used as a part of join->positions and join->best_positions arrays.
One POSITION element contains information about:
This class has to stay a POD, because it is memcpy'd in many places.
void st_position::no_semijoin | ( | ) | [inline] |
Even if the query has no semijoin, two sj-related members are read and must thus have been set, by this function.
table_map st_position::dups_producing_tables |
Bitmap of semi-join inner tables that are in the join prefix and for which there's no provision yet for how to eliminate semi-join duplicates which they produce.