Skip to main content
これらの設定は system.settings で参照でき、ソースコード から自動生成されています。

optimize_and_compare_chain

フィルタリング能力を高めるため、AND チェーン内の定数比較を補完します。演算子 <<=>>== およびそれらの混在をサポートします。たとえば、(a < b) AND (b < c) AND (c < 5)(a < b) AND (b < c) AND (c < 5) AND indexHint(b < 5) AND indexHint(a < 5) になります。導出された比較は indexHint でラップされます。これらは索引解析 (主キー、パーティションキー、スキップ索引) に関与して読み取り対象を絞り込みますが、行ごとのコストは発生せず、PREWHERE にも影響しません。異なるテーブルにまたがる式を介して導出された比較も実行可能な状態を保ちます ((t1.a < t2.b) AND (t2.b < 5) から通常の t1.a < 5 が導出されます) 。これは結合の下にプッシュダウンできる唯一の条件であり、元のチェーンでは到達できない結合入力をフィルタリングします。既存の条件と矛盾する導出比較も通常の条件として追加されるため、ANDfalse に畳み込まれます。

optimize_and_compare_chain_max_hash_work

クエリ解析中の optimize_and_compare_chain 最適化に対する作業予算です。これは getTreeHash によってハッシュ化されるクエリツリーノード数 (この最適化で最も支配的なコスト) で測定されます。最適化の適用中にクエリがこの数を超えるノードをハッシュ化すると、その後はそのクエリの残りの部分に対してこの最適化を適用しなくなります。これにより、比較の AND チェーンが非常に多い、または非常に大きいクエリで、最適化が何も畳み込めないまま解析時間の大半を占めてしまう事態を防げます。早めに打ち切っても常に安全です。単に最適化を見送るだけで、結果が変わることはありません。予算を無効にするには 0 に設定します (無制限) 。
最終更新日 2026年8月18日