![]() |
MySQL 9.5.0
Source Code Documentation
|
#include "sql/join_optimizer/estimate_selectivity.h"#include <sys/types.h>#include <algorithm>#include <bit>#include <initializer_list>#include <string>#include "my_bitmap.h"#include "my_table_map.h"#include "sql/field.h"#include "sql/handler.h"#include "sql/histograms/histogram.h"#include "sql/item.h"#include "sql/item_cmpfunc.h"#include "sql/item_func.h"#include "sql/join_optimizer/bit_utils.h"#include "sql/join_optimizer/optimizer_trace.h"#include "sql/join_optimizer/print_utils.h"#include "sql/join_optimizer/relational_expression.h"#include "sql/join_optimizer/secondary_statistics.h"#include "sql/key.h"#include "sql/sql_bitmap.h"#include "sql/sql_const.h"#include "sql/sql_select.h"#include "sql/table.h"#include "template_utils.h"Classes | |
| struct | anonymous_namespace{estimate_selectivity.cc}::KeySelectivityResult |
| Return type for EstimateSelectivityFromIndexStatistics(). More... | |
Namespaces | |
| namespace | anonymous_namespace{estimate_selectivity.cc} |
Typedefs | |
| using | anonymous_namespace{estimate_selectivity.cc}::EqualFieldArray = Bounds_checked_array< const Field *const > |
| The set of fields that are equal in an equijoin predicate. More... | |
Functions | |
| double | anonymous_namespace{estimate_selectivity.cc}::HistogramSelectivity (THD *thd, const Field &field) |
| Return the selectivity of 'field' derived from a histogram, or -1.0 if there was no histogram. More... | |
| double | anonymous_namespace{estimate_selectivity.cc}::KeyCap (THD *thd, const Field &field, uint key_no) |
| Check if there is a unique index on key number 'key_no' of 'field'. More... | |
| double | anonymous_namespace{estimate_selectivity.cc}::FindSelectivityCap (THD *thd, const Field &field) |
| Check if there is a unique index on 'field'. More... | |
| bool | anonymous_namespace{estimate_selectivity.cc}::HasEarlierPermutedPrefix (Bounds_checked_array< const KEY > keys, uint prefix_length) |
| Check if any other key in 'keys' starts with the same 'prefix_length' fields as the last key. More... | |
| KeySelectivityResult | anonymous_namespace{estimate_selectivity.cc}::EstimateSelectivityFromIndexStatistics (THD *thd, const Field &equal_field, const CompanionSet &companion_set, const TABLE &table, uint key_no) |
| double | anonymous_namespace{estimate_selectivity.cc}::EstimateEqualPredicateSelectivity (THD *thd, const EqualFieldArray &equal_fields, const CompanionSet &companion_set) |
| Estimate the selectivity of (equi)joining a set of fields. More... | |
| double | EstimateSelectivity (THD *thd, Item *condition, const CompanionSet &companion_set) |
| For the given condition, to try estimate its filtering selectivity, on a 0..1 scale (where 1.0 lets all records through). More... | |
| double EstimateSelectivity | ( | THD * | thd, |
| Item * | condition, | ||
| const CompanionSet & | companion_set | ||
| ) |
For the given condition, to try estimate its filtering selectivity, on a 0..1 scale (where 1.0 lets all records through).