Search Results
https://dev.mysql.com/doc/internals/en/implementing-index-prev-method.html
The [custom-engine.html#custom-engine-api-reference-index_prev index_prev()] method is used for reverse index scanning: int ha_foo::index_prev(byte * buf) The *buf parameter is populated with the row that corresponds to the previous matching key ...
https://dev.mysql.com/doc/internals/en/implementing-info-method.html
Prior to commencing a table scan, the [custom-engine.html#custom-engine-api-reference-info info()] method is called to provide extra table information to the optimizer. The information required by the optimizer is not given through return values ...
https://dev.mysql.com/doc/internals/en/implementing-position-method.html
Most storage engines will store some form of offset or a primary key value. The [custom-engine.html#custom-engine-api-reference-position position()] method is called after every call to rnd_next() if the data needs to be reordered: void ...
https://dev.mysql.com/doc/internals/en/index-first.html
Synopsis virtual int index_first ( buf); byte * buf ; Description This is the index_first method.
https://dev.mysql.com/doc/internals/en/index-last.html
Synopsis virtual int index_last ( buf); byte * buf ; Description This is the index_last method. Parameters buf - byte array to be populated with matching row. Usage Advance to last row in index and return row in buffer.
https://dev.mysql.com/doc/internals/en/indexing-overview.html
The indexing methods either read rows that match a key, scan a set of rows by index order, or read information directly from the index. Adding index support to a storage engine revolves around two tasks: providing information to the optimizer and ...
https://dev.mysql.com/doc/internals/en/innodb-extra-bytes.html
If you're just trying to read the record, the key bit in the Extra Bytes is 1byte_offs_flag — you need to know if 1byte_offs_flag is 1 (that is, "short 1-byteoffsets") or 0 (that is, "2-byte offsets"). Given a pointer to the Origin, InnoDB finds ...
https://dev.mysql.com/doc/internals/en/mismatch-of-focus-of-test-and-code-sequence.html
CREATE TABLE t1 ( id INT NOT NULL AUTO_INCREMENT, my_column VARCHAR(30), name LONGTEXT, PRIMARY KEY (id)); INSERT INTO t1(my_column,name) VALUES('2','two'); INSERT INTO t1(my_column,name) VALUES('1','one'); INSERT INTO t1(my_column,name) ...
https://dev.mysql.com/doc/internals/en/optimizer-code-concepts.html
This section discusses key optimizer concepts, terminology, and how these are reflected in the MySQL server source code.
https://dev.mysql.com/doc/internals/en/optimizer-early-nulls-filtering.html
Suppose further that table tblY is accessed via ref or eq_ref access on tblY.key_column = tblX.column or, in the case of ref access using multiple key parts, via ... We make the following inference: (tblY.key_partN = tblX.column) => (tblX.column IS ... Suppose we have a join order such as this one: ..., tblX, ..., tblY, ...