MySQL 5.6.14 Source Code Document
|
#include "pars0opt.h"
#include "row0sel.h"
#include "row0ins.h"
#include "row0upd.h"
#include "dict0dict.h"
#include "dict0mem.h"
#include "que0que.h"
#include "pars0grm.h"
#include "pars0pars.h"
#include "lock0lock.h"
Go to the source code of this file.
Functions | |
UNIV_INLINE ulint | opt_calc_n_fields_from_goodness (ulint goodness) |
UNIV_INLINE ulint | opt_op_to_search_mode (ibool asc, ulint op) |
UNIV_INTERN void | opt_find_all_cols (ibool copy_val, dict_index_t *index, sym_node_list_t *col_list, plan_t *plan, que_node_t *exp) |
UNIV_INTERN void | opt_search_plan (sel_node_t *sel_node) |
UNIV_INTERN void | opt_print_query_plan (sel_node_t *sel_node) |
UNIV_INLINE ulint opt_calc_n_fields_from_goodness | ( | ulint | goodness | ) |
Calculates the number of matched fields based on an index goodness.
goodness | in: goodness |
Definition at line 417 of file pars0opt.cc.
UNIV_INTERN void opt_find_all_cols | ( | ibool | copy_val, |
dict_index_t * | index, | ||
sym_node_list_t * | col_list, | ||
plan_t * | plan, | ||
que_node_t * | exp | ||
) |
Looks for occurrences of the columns of the table in the query subgraph and adds them to the list of columns if an occurrence of the same column does not already exist in the list. If the column is already in the list, puts a value indirection to point to the occurrence in the column list, except if the column occurrence we are looking at is in the column list, in which case nothing is done.
copy_val | in: if TRUE, new found columns are added as columns to copy |
index | in: index of the table to use |
col_list | in: base node of a list where to add new found columns |
plan | in: plan or NULL |
exp | in: expression or condition or NULL |
Definition at line 867 of file pars0opt.cc.
UNIV_INLINE ulint opt_op_to_search_mode | ( | ibool | asc, |
ulint | op | ||
) |
Converts a comparison operator to the corresponding search mode PAGE_CUR_GE, ...
asc | in: TRUE if the rows should be fetched in an ascending order |
op | in: operator '=', PARS_GE_TOKEN, ... |
Definition at line 430 of file pars0opt.cc.
UNIV_INTERN void opt_print_query_plan | ( | sel_node_t * | sel_node | ) |
Prints info of a query plan.
sel_node | in: select node |
Definition at line 1218 of file pars0opt.cc.
UNIV_INTERN void opt_search_plan | ( | sel_node_t * | sel_node | ) |
Optimizes a select. Decides which indexes to tables to use. The tables are accessed in the order that they were written to the FROM part in the select statement.
sel_node | in: parsed select node |
Definition at line 1141 of file pars0opt.cc.