MySQL  8.0.27
Source Code Documentation
sql_planner.h File Reference

Join planner classes. More...

#include <sys/types.h>
#include "my_inttypes.h"
#include "my_table_map.h"
#include "sql_optimizer.h"

Go to the source code of this file.


class  Optimize_table_order
 This class determines the optimal join order for tables within a basic query block, ie a query specification clause, possibly extended with semi-joined tables from embedded subqueries. More...
class  Join_tab_compare_default


typedef ulonglong nested_join_map


table_map get_lateral_deps (const JOIN_TAB &tab)
 Find the lateral dependencies of 'tab'. More...
void get_partial_join_cost (JOIN *join, uint n_tables, double *cost_arg, double *rowcount_arg)
 Calculate a cost of given partial join order. More...
float calculate_condition_filter (const JOIN_TAB *const tab, const Key_use *const keyuse, table_map used_tables, double fanout, bool is_join_buffering, bool write_to_trace, Opt_trace_object &parent_trace)
 Calculate 'Post read filtering' effect of JOIN::conds for table 'tab'. More...
double find_cost_for_ref (const THD *thd, TABLE *table, unsigned keyno, double num_rows, double worst_seeks)
 Find the cost for a ref lookup on the given index, assumed to return “num_rows” rows. More...

Detailed Description

Join planner classes.

Typedef Documentation

◆ nested_join_map

Function Documentation

◆ get_lateral_deps()

table_map get_lateral_deps ( const JOIN_TAB tab)

Find the lateral dependencies of 'tab'.