Search Results
https://dev.mysql.com/doc/internals/en/innodb-extra-bytes.html
Given a pointer to the Origin, InnoDB finds the start of the record as follows: Let X = n_fields (the number of fields is by definition equal to the number of entries in the Field Start Offsets Table). If you're just trying to read the record, the ...
https://dev.mysql.com/doc/internals/en/innodb-fil-header.html
The word "space" is generic jargon for either "log" or "tablespace". -------- - root - -------- | ---------------------- | | | | -------- -------- - leaf - <--> - leaf - -------- -------- Everyone has seen a B-tree and knows that the entries in the ...
https://dev.mysql.com/doc/internals/en/installation-layout-options.html
In the following table, the CMAKE_INSTALL_PREFIX value is the installation base directory. Many other CMake layout options are interpreted relative to the prefix and their values are relative pathnames.
https://dev.mysql.com/doc/internals/en/item-class.html
To us, the word Item means more than just “thingamabob”; it is a technical term with a precise definition in the context of our source code. In the function category we include operators such as + and ||, because operators are merely functions ...
https://dev.mysql.com/doc/internals/en/library-options.html
The following table shows options that indicate which libraries to use. Parameter configure Option CMake Option readline library --with-readline -DWITH_EDITLINE=1 SSL library --with-ssl=/usr -DWITH_SSL=system zlib library --with-zlib-dir=/usr ...
https://dev.mysql.com/doc/internals/en/myisam-compressed-data-file-layout.html
This chapter describes the layout for the data file of compressed MyISAM tables.
https://dev.mysql.com/doc/internals/en/optimizer-and-relations.html
Here's an example: CREATE TABLE Table1 (s1 INT, s2 INT); CREATE INDEX Index1 ON Table1 (s2); CREATE INDEX Index2 ON Table1 (s1); ... SELECT * FROM Table1 WHERE s1 = 5 AND s2 = 5; When choosing a strategy to solve this query, the optimizer picks s2 = ... An ANDed search has the form condition1 AND condition2, as in this example: WHERE column1 = 'x' AND column2 = 'y' Here, the optimizer's decision process can be described as follows: If (neither condition is indexed) use sequential ...
https://dev.mysql.com/doc/internals/en/optimizer-features-to-trace.html
They are: Greedy search: with a N-table join, this could explore factorial(N) plans Range optimizer Dynamic range optimization (known as "range checked for each record" in EXPLAIN output: each outer row causes a re-run of the range optimizer) ...
https://dev.mysql.com/doc/internals/en/optimizer-index-join-type.html
Consider this query: SELECT column1 FROM Table1; If column1 is indexed, then the optimizer may choose to retrieve the values from the index rather than from the table. For this query: SELECT column1, column2 FROM Table1; the optimizer will use join ...An index which is used this way is called a covering index in most ...
https://dev.mysql.com/doc/internals/en/optimizer-index-merge-join-type.html
7.2.2.5.1 Overview Index Merge is used when table condition can be converted to form: cond_1 OR cond_2 ... OR cond_N The conditions for conversion are that each cond_i can be used for a range scan, and no pair (cond_i, cond_j) uses the same index.