MySQL 8.4.0
Source Code Documentation
join_optimizer Directory Reference
Directory dependency graph for join_optimizer:

Files

file  access_path.cc
 
file  access_path.h [code]
 
file  bit_utils.h [code]
 
file  build_interesting_orders.cc
 
file  build_interesting_orders.h [code]
 
file  common_subexpression_elimination.cc
 
file  common_subexpression_elimination.h [code]
 
file  compare_access_paths.h [code]
 
file  cost_model.cc
 
file  cost_model.h [code]
 
file  estimate_selectivity.cc
 
file  estimate_selectivity.h [code]
 
file  explain_access_path.cc
 
file  explain_access_path.h [code]
 
file  finalize_plan.cc
 
file  finalize_plan.h [code]
 
file  find_contained_subqueries.h [code]
 
file  graph_simplification.cc
 
file  graph_simplification.h [code]
 Heuristic simplification of query graphs to make them execute faster, largely a direct implementation of [Neu09] (any references to just “the paper” will generally be to that).
 
file  hypergraph.cc
 
file  hypergraph.h [code]
 Definition of an undirected (join) hypergraph.
 
file  interesting_orders.cc
 
file  interesting_orders.h [code]
 Tracks which tuple streams follow which orders, and in particular whether they follow interesting orders.
 
file  interesting_orders_defs.h [code]
 
file  join_optimizer.cc
 
file  join_optimizer.h [code]
 The hypergraph join optimizer takes a query block and decides how to execute it as fast as possible (within a given cost model), based on the idea of expressing the join relations as edges in a hypergraph.
 
file  make_join_hypergraph.cc
 
file  make_join_hypergraph.h [code]
 
file  materialize_path_parameters.h [code]
 
file  node_map.h [code]
 
file  online_cycle_finder.cc
 
file  online_cycle_finder.h [code]
 
file  optimizer_trace.h [code]
 
file  overflow_bitset.cc
 
file  overflow_bitset.h [code]
 OverflowBitset is a fixed-size (once allocated) bitmap that is optimized for the common case of few elements, yet can support an arbitrary number.
 
file  print_utils.cc
 
file  print_utils.h [code]
 
file  relational_expression.cc
 
file  relational_expression.h [code]
 
file  replace_item.cc
 
file  replace_item.h [code]
 
file  secondary_engine_costing_flags.h [code]
 For updating an AccessPath's costs by a secondary engine, i.e.
 
file  subgraph_enumeration.h [code]
 This file implements the DPhyp algorithm for enumerating connected subgraphs of hypergraphs (see hypergraph.h for a hypergraph definition).
 
file  trivial_receiver.h [code]
 
file  walk_access_paths.h [code]