Search Results
https://dev.mysql.com/doc/internals/en/prepared-stored.html
Let us start with a general description of the MySQL statement processing workflow in order to provide the reader with understanding of the problem of reexecution and vocabulary for the following sections. Conventional statements, that is, SQL ...
https://dev.mysql.com/doc/internals/en/preparing-for-index-use.html
The [custom-engine.html#custom-engine-api-reference-index_init index_init()] method is called before an index is used to allow the storage engine to perform any necessary preparation or optimization: int ha_foo::index_init(uint keynr, bool sorted) ...
https://dev.mysql.com/doc/internals/en/records-in-range.html
Used by optimizer to calculate cost of using a particular index. Purpose For the given range how many records are estimated to be in this range. Synopsis virtual ha_rows records_in_range ( inx, min_key, max_key); uint inx ; key_range * min_key ; ...
https://dev.mysql.com/doc/internals/en/select-derived.html
If it is not explain, then cleanup JOIN structures after execution (EXPLAIN needs data of optimization phase and cleanup them after whole query processing). Derived tables is the internal name for subqueries in the FROM clause. The processing of ...
https://dev.mysql.com/doc/internals/en/select-select-engine.html
If this is the first time, call JOIN::optimize and JOIN::exec(), else do nothing or JOIN::reinit()JOIN::exec() depending on type of subquery. subselect_single_select_engine: constructor allocate JOIN and store pointers on SELECT_LEX and JOIN.
https://dev.mysql.com/doc/internals/en/select-select-result.html
This class has a very important role in SELECT performance with select_result class and classes inherited from it (usually called with a select_ prefix). The key methods in this class are the following: send_fields sends given item list headers ...
https://dev.mysql.com/doc/internals/en/select-simple.html
For performing single primary select, SELECT uses the mysql_select function, which does: allocate JOIN JOIN::prepare JOIN::optimize JOIN::exec JOIN::cleanup In previous versions of MySQL, all SELECT operations were performed with the help of this ...
https://dev.mysql.com/doc/internals/en/select-union.html
if this is the first call, call JOIN::optimize else JOIN::reinit and then JOIN::exec for all SELECTs (select_union will write a result for the temporary table). We will need this object to store in every JOIN structure link on it, but we have not ...
https://dev.mysql.com/doc/internals/en/tracing-memory-usage.html
It is extended (with realloc()) as optimization progresses and appends data to it. The optimizer_trace_max_mem_size variable sets a limit on the total amount of memory used by all currently remembered traces: If this limit is reached, the current ...
https://dev.mysql.com/doc/internals/en/transformation-scalar-in.html
The scalar IN subquery will be replaced with an Item_in_optimizer item. If left expression (cache) is NULL, then Item_in_optimizer returns NULL, else it evaluates Item_in_subselect. This reference informs Item_in_optimizer whether item (t2.a) is ...