Slide 19
Slide 19 text
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
オプティマイザヒント(MySQL 5.7以降)
ヒント名 説明 スコープ
BKA, NO_BKA BKA(Batched Key Access) join の有効/無効 クエリーブロック, テーブル
BNL, NO_BNL BNL(Block Nested-Loop) join の有効/無効 クエリーブロック, テーブル
MAX_EXECUTION_TIME クエリーの実行時間制限 グローバル
MRR, NO_MRR MRR(Multi-Range Read) の有効/無効 テーブル, インデックス
NO_ICP ICP(Index Condition Pushdown) の有効/無効 テーブル, インデックス
NO_RANGE_OPTIMIZATION インデックスレンジスキャン、インデックスマージ、ルースインデックスス
キャン(Using index for group-by)の無効
テーブル, インデックス
QB_NAME クエリーブロック(1つ1つのサブクエリー)に名前を付ける
QB_NAMEヒントで名付けた名前を、他のヒント(BKAなど)で指定できる
クエリーブロック
SEMIJOIN, NO_SEMIJOIN 純結合変換による最適化の有効/無効
最適化を行う場合に指摘できる方式は以下の4種類
DUPSWEEDOUT, FIRSTMATCH, LOOSESCAN, MATERIALIZATION
クエリーブロック
SUBQUERY サブクエリーの最適化方法を指定(INTOEXISTS or MATERIALIZATION) クエリーブロック
※参考マニュアル:8.9.2 Optimizer Hints
https://dev.mysql.com/doc/refman/8.0/en/optimizer-hints.html
19