My Project
Public Member Functions
Loose_scan_opt Class Reference

List of all members.

Public Member Functions

void init (JOIN_TAB *s, table_map remaining_tables, bool in_dups_producing_range, bool is_sjm_nest)
void next_ref_key ()
void add_keyuse (table_map remaining_tables, Key_use *keyuse)
bool have_a_case ()
void check_ref_access_part1 (JOIN_TAB *s, uint key, Key_use *start_key, key_part_map bound_keyparts)
void check_ref_access_part2 (uint key, Key_use *start_key, double records, double read_time)
void check_range_access (JOIN *join, uint idx, QUICK_SELECT_I *quick)
void save_to_position (JOIN_TAB *tab, POSITION *pos)

Member Function Documentation

void Loose_scan_opt::check_ref_access_part1 ( JOIN_TAB s,
uint  key,
Key_use start_key,
key_part_map  bound_keyparts 
) [inline]

Check if an index can be used for LooseScan, part 1

Parameters:
sThe join_tab we are checking
keyThe key being checked for the associated table
start_keyFirst applicable keyuse for this key.
bound_keypartsThe key columns determined for this index, ie. found in earlier tables in plan.
void Loose_scan_opt::check_ref_access_part2 ( uint  key,
Key_use start_key,
double  records,
double  read_time 
) [inline]

Check if ref access can be used for LooseScan, part 2

Record this LooseScan index if it is cheaper than the currently cheapest LooseScan index.

Note:
Actually ref access is not used by LooseScan: JOIN::set_access_methods() always sets up a index/range scan.
Parameters:
keyThe key being checked for the associated table
start_keyFirst applicable keyuse for this key.
recordsRow count estimate for this index access
read_timeCost of access using this index

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines