Details
-
Task
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
Our implementation of optimizer hints is intended to bring compatibility with the corresponding functionality of MySQL, which is described here.
Currently we have implemented a partial subset of the hints:
- hints for join buffering: BNL(), NO_BNL(), BKA(), NO_BKA();
- NO_ICP() hint for disabling index condition pushdown;
- MRR(), MO_MRR() hint for multi-range reads control;
- NO_RANGE_OPTIMIZATION() for disabling range optimization;
- QB_NAME() for assigning names for query blocks;
- SEMIJOIN() and NO_SEMIJOIN() for semijoin strategy control;
- SUBQUERY() for control of subquery execution strategy.
Examples of applying hints to SQL statements can be found at
mysql-test/main/opt_hints.test; mysql-test/main/opt_hint_timeout.test; mysql-test/main/opt_hints_subquery.test
|
Attachments
Issue Links
- split from
-
MDEV-33281 Implement optimizer hints like in MySQL 8
-
- In Progress
-
Activity
Field | Original Value | New Value |
---|---|---|
Link | This issue split from MDEV-33281 [ MDEV-33281 ] |
Description |
Our implementation of optimizer hints is intended to bring compatibility with the corresponding functionality of MySQL, which is [described here|https://dev.mysql.com/doc/refman/8.4/en/optimizer-hints.html].
Currently we have implemented a partial subset of the hints: * hints for join buffering: BNL(), NO_BNL(), BKA(), NO_BKA(); * NO_ICP() hint for disabling index condition pushdown; * MRR(), MO_MRR() hint for multi-range reads control; * NO_RANGE_OPTIMIZATION() for disabling range optimization; * QB_NAME() for assigning names for query blocks. Examples of applying hints to SQL statements can be found at {code}mysql-test/main/opt_hints.test{code} |
Our implementation of optimizer hints is intended to bring compatibility with the corresponding functionality of MySQL, which is [described here|https://dev.mysql.com/doc/refman/5.7/en/optimizer-hints.html].
Currently we have implemented a partial subset of the hints: * hints for join buffering: BNL(), NO_BNL(), BKA(), NO_BKA(); * NO_ICP() hint for disabling index condition pushdown; * MRR(), MO_MRR() hint for multi-range reads control; * NO_RANGE_OPTIMIZATION() for disabling range optimization; * QB_NAME() for assigning names for query blocks. Examples of applying hints to SQL statements can be found at {code}mysql-test/main/opt_hints.test{code} |
Description |
Our implementation of optimizer hints is intended to bring compatibility with the corresponding functionality of MySQL, which is [described here|https://dev.mysql.com/doc/refman/5.7/en/optimizer-hints.html].
Currently we have implemented a partial subset of the hints: * hints for join buffering: BNL(), NO_BNL(), BKA(), NO_BKA(); * NO_ICP() hint for disabling index condition pushdown; * MRR(), MO_MRR() hint for multi-range reads control; * NO_RANGE_OPTIMIZATION() for disabling range optimization; * QB_NAME() for assigning names for query blocks. Examples of applying hints to SQL statements can be found at {code}mysql-test/main/opt_hints.test{code} |
Our implementation of optimizer hints is intended to bring compatibility with the corresponding functionality of MySQL, which is [described here|https://dev.mysql.com/doc/refman/5.7/en/optimizer-hints.html].
Currently we have implemented a partial subset of the hints: * hints for join buffering: BNL(), NO_BNL(), BKA(), NO_BKA(); * NO_ICP() hint for disabling index condition pushdown; * MRR(), MO_MRR() hint for multi-range reads control; * NO_RANGE_OPTIMIZATION() for disabling range optimization; * QB_NAME() for assigning names for query blocks; * SEMIJOIN() and NO_SEMIJOIN() for semijoin strategy control; * SUBQUERY() for control of subquery execution strategy. Examples of applying hints to SQL statements can be found at {code}mysql-test/main/opt_hints.test{code}, {code}mysql-test/main/opt_hint_timeout.test{code}, {code}mysql-test/main/opt_hints_subquery.test{code} |
Description |
Our implementation of optimizer hints is intended to bring compatibility with the corresponding functionality of MySQL, which is [described here|https://dev.mysql.com/doc/refman/5.7/en/optimizer-hints.html].
Currently we have implemented a partial subset of the hints: * hints for join buffering: BNL(), NO_BNL(), BKA(), NO_BKA(); * NO_ICP() hint for disabling index condition pushdown; * MRR(), MO_MRR() hint for multi-range reads control; * NO_RANGE_OPTIMIZATION() for disabling range optimization; * QB_NAME() for assigning names for query blocks; * SEMIJOIN() and NO_SEMIJOIN() for semijoin strategy control; * SUBQUERY() for control of subquery execution strategy. Examples of applying hints to SQL statements can be found at {code}mysql-test/main/opt_hints.test{code}, {code}mysql-test/main/opt_hint_timeout.test{code}, {code}mysql-test/main/opt_hints_subquery.test{code} |
Our implementation of optimizer hints is intended to bring compatibility with the corresponding functionality of MySQL, which is [described here|https://dev.mysql.com/doc/refman/5.7/en/optimizer-hints.html].
Currently we have implemented a partial subset of the hints: * hints for join buffering: BNL(), NO_BNL(), BKA(), NO_BKA(); * NO_ICP() hint for disabling index condition pushdown; * MRR(), MO_MRR() hint for multi-range reads control; * NO_RANGE_OPTIMIZATION() for disabling range optimization; * QB_NAME() for assigning names for query blocks; * SEMIJOIN() and NO_SEMIJOIN() for semijoin strategy control; * SUBQUERY() for control of subquery execution strategy. Examples of applying hints to SQL statements can be found at {code}mysql-test/main/opt_hints.test, mysql-test/main/opt_hint_timeout.test, mysql-test/main/opt_hints_subquery.test{code} |
Description |
Our implementation of optimizer hints is intended to bring compatibility with the corresponding functionality of MySQL, which is [described here|https://dev.mysql.com/doc/refman/5.7/en/optimizer-hints.html].
Currently we have implemented a partial subset of the hints: * hints for join buffering: BNL(), NO_BNL(), BKA(), NO_BKA(); * NO_ICP() hint for disabling index condition pushdown; * MRR(), MO_MRR() hint for multi-range reads control; * NO_RANGE_OPTIMIZATION() for disabling range optimization; * QB_NAME() for assigning names for query blocks; * SEMIJOIN() and NO_SEMIJOIN() for semijoin strategy control; * SUBQUERY() for control of subquery execution strategy. Examples of applying hints to SQL statements can be found at {code}mysql-test/main/opt_hints.test, mysql-test/main/opt_hint_timeout.test, mysql-test/main/opt_hints_subquery.test{code} |
Our implementation of optimizer hints is intended to bring compatibility with the corresponding functionality of MySQL, which is [described here|https://dev.mysql.com/doc/refman/5.7/en/optimizer-hints.html].
Currently we have implemented a partial subset of the hints: * hints for join buffering: BNL(), NO_BNL(), BKA(), NO_BKA(); * NO_ICP() hint for disabling index condition pushdown; * MRR(), MO_MRR() hint for multi-range reads control; * NO_RANGE_OPTIMIZATION() for disabling range optimization; * QB_NAME() for assigning names for query blocks; * SEMIJOIN() and NO_SEMIJOIN() for semijoin strategy control; * SUBQUERY() for control of subquery execution strategy. Examples of applying hints to SQL statements can be found at {code}mysql-test/main/opt_hints.test; mysql-test/main/opt_hint_timeout.test; mysql-test/main/opt_hints_subquery.test{code} |
Assignee | Oleg Smirnov [ JIRAUSER50405 ] | Elena Stepanova [ elenst ] |
Assignee | Elena Stepanova [ elenst ] | Lena Startseva [ JIRAUSER50478 ] |