Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

optimize_rewrite_* セッション設定

これらの設定は system.settings で確認でき、ソース から自動生成されています。

optimize_rewrite_aggregate_function_with_if

Bool
デフォルト値
1

論理的に等価な場合、引数に if 式を持つ集約関数を書き換えます。 たとえば、avg(if(cond, col, null))avgOrNullIf(cond, col) に書き換え可能です。これにより、パフォーマンスが向上する場合があります。

optimize_rewrite_array_exists_to_has

Bool
デフォルト値
1
バージョン履歴
バージョンデフォルト値コメント
26.41書き換え前に型の互換性が確認されるようになったため、arrayExists から has への書き換え最適化がデフォルトで有効になりました。

論理的に等価な場合、arrayExists() 関数を has() に書き換えます。たとえば、arrayExists(x -> x = 1, arr) は has(arr, 1) に書き換えられます

optimize_rewrite_has_to_in

Bool
デフォルト値
1
バージョン履歴
バージョンデフォルト値コメント
26.61新しい設定

最初の引数が定数配列の場合、has 関数を IN に書き換えます。たとえば、has([1, 2, 3], x) は、定数配列に対するパフォーマンス向上のため、x IN [1, 2, 3] に書き換えることができます

optimize_rewrite_like_perfect_affix

Bool
デフォルト値
1
バージョン履歴
バージョンデフォルト値コメント
25.101新しい設定

完全なプレフィックスまたは接尾辞を持つ LIKE 式 (例: col LIKE 'ClickHouse%') を、startsWith または endsWith 関数 (例: startsWith(col, 'ClickHouse')) に書き換えます。

optimize_rewrite_regexp_functions

Bool
デフォルト値
1
バージョン履歴
バージョンデフォルト値コメント
25.81新しい設定

正規表現関連の関数を、より単純で効率的な形式に書き換えます

optimize_rewrite_sum_if_to_count_if

Bool
デフォルト値
1
バージョン履歴
バージョンデフォルト値コメント
24.41アナライザでのみ利用可能で、そこでは正しく動作します

論理的に等価な場合、sumIf() および sum(if()) 関数を countIf() 関数に書き換えます

Navigation