これらの設定は system.settings で参照でき、ソース から自動生成されています。
query_cache_compress_entries
クエリキャッシュ内のエントリを圧縮します。これにより、クエリキャッシュのメモリ使用量は削減されますが、クエリキャッシュへの挿入やクエリキャッシュからの読み取りは遅くなります。
設定可能な値:
- 0 - 無効
- 1 - 有効
query_cache_for_subqueries
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 26.5 | 0 | `use_query_cache` をすべてのサブクエリに伝播させるための新しい設定です。これがない場合、サブクエリが cache されるのは、サブクエリごとに明示的に `SETTINGS use_query_cache = true` を指定した場合のみです。 |
有効にすると、サブクエリの結果が query cache に書き込まれたり、そこから読み込まれたりするようになります。これにより、use_query_cache がすべてのサブクエリに伝播されます。
設定可能な値:
- 0 - 無効
- 1 - 有効
query_cache_max_entries
現在のユーザーが クエリキャッシュ に保存できるクエリ結果の最大件数です。0 は無制限を意味します。
設定可能な値:
- 0 以上の整数。
query_cache_max_size_in_bytes
現在のユーザーが クエリキャッシュ に割り当てられるメモリの最大量 (バイト単位) 。0 は無制限を意味します。
設定可能な値:
- 0 以上の整数。
query_cache_min_query_duration
クエリの結果をクエリキャッシュに保存するために、そのクエリが実行されている必要がある最小時間 (ミリ秒単位) 。
設定可能な値:
- 0 以上の整数。
query_cache_min_query_runs
query cache に結果が保存されるまでに、SELECT クエリが実行される必要がある最小回数。
設定可能な値:
- 0 以上の整数。
query_cache_nondeterministic_function_handling
rand() や now() などの非決定論的関数を含む SELECT クエリを、query cache がどのように扱うかを制御します。
設定可能な値:
'throw'- 例外をスローし、クエリ結果を cache しません。'save'- クエリ結果を cache します。'ignore'- クエリ結果を cache せず、例外もスローしません。
有効にすると、クエリキャッシュにキャッシュされたSELECTクエリの結果を、他のユーザーも参照できるようになります。
セキュリティ上の理由から、この設定を有効にすることは推奨されません。
設定可能な値:
- 0 - 無効
- 1 - 有効
query_cache_squash_partial_results
部分的な結果ブロックを、サイズが max_block_size のブロックにまとめます。query cache への挿入のパフォーマンスは低下しますが、cache エントリの圧縮効率は向上します (query_cache_compress-entries を参照) 。
設定可能な値:
- 0 - 無効
- 1 - 有効
query_cache_system_table_handling
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 24.4 | throw | query cache はシステムテーブルに対するクエリ結果をキャッシュしなくなりました |
クエリキャッシュ がシステムテーブル、つまり system.* および information_schema.* データベース内のテーブルに対する SELECT クエリをどのように扱うかを制御します。
設定可能な値:
'throw'- 例外をスローし、クエリ結果をキャッシュしません。'save'- クエリ結果をキャッシュします。'ignore'- クエリ結果をキャッシュせず、例外もスローしません。
query_cache_tag
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 24.8 | query cache にラベルを付けるための新しい設定。 |
query cache のエントリに付けるラベルとして機能する文字列です。 タグが異なる同じクエリは、query cache では別のものとして扱われます。
設定可能な値:
- 任意の文字列
query_cache_ttl
指定した秒数を過ぎると、query cache 内のエントリは古いものと見なされます。
設定可能な値:
- 0 以上の整数。