MySQL 5.6.14 Source Code Document
|
Public Types | |
enum | Type { IMPOSSIBLE, ALWAYS, MAYBE, KEY, KEY_SMALLER } |
Public Member Functions | |
SEL_TREE (enum Type type_arg) | |
SEL_TREE (SEL_TREE *arg, RANGE_OPT_PARAM *param) |
Public Attributes | |
enum SEL_TREE::Type | type |
SEL_ARG * | keys [MAX_KEY] |
key_map | keys_map |
List< SEL_IMERGE > | merges |
key_map | ror_scans_map |
uint | n_ror_scans |
struct st_ror_scan_info ** | ror_scans |
struct st_ror_scan_info ** | ror_scans_end |
Additional Inherited Members | |
Static Public Member Functions inherited from Sql_alloc | |
static void * | operator new (size_t size) throw () |
static void * | operator new[] (size_t size) throw () |
static void * | operator new[] (size_t size, MEM_ROOT *mem_root) throw () |
static void * | operator new (size_t size, MEM_ROOT *mem_root) throw () |
static void | operator delete (void *ptr, size_t size) |
static void | operator delete (void *ptr, MEM_ROOT *mem_root) |
static void | operator delete[] (void *ptr, MEM_ROOT *mem_root) |
static void | operator delete[] (void *ptr, size_t size) |
Definition at line 703 of file opt_range.cc.
enum SEL_TREE::Type |
Starting an effort to document this field:
IMPOSSIBLE: if keys[i]->type == SEL_ARG::IMPOSSIBLE for some i, then type == SEL_TREE::IMPOSSIBLE. Rationale: if the predicate for one of the indexes is always false, then the full predicate is also always false.
ALWAYS: if either (keys[i]->type == SEL_ARG::ALWAYS) or (keys[i] == NULL) for all i, then type == SEL_TREE::ALWAYS. Rationale: the range access method will not be able to filter out any rows when there are no range predicates that can be used to filter on any index.
KEY: There are range predicates that can be used on at least one index.
KEY_SMALLER: There are range predicates that can be used on at least one index. In addition, there are predicates that cannot be directly utilized by range access on key parts in the same index. These unused predicates makes it probable that the row estimate for range access on this index is too pessimistic.
Definition at line 729 of file opt_range.cc.