tencent cloud

TencentDB for MySQL

プランキャッシュチェックの最適化

PDF
フォーカスモード
フォントサイズ
最終更新日: 2024-07-25 16:20:38

機能の説明

MySQLデータのSQL実行手順には、主に解析、準備、最適化、実行の4つの段階が含まれます。実行プランキャッシュ機能はprepare statement方式の場合にのみ作用します。prepare statement方式ではexecute時に解析と準備の2段階を省略し、実行プランによって最適化段階も省略できるため、パフォーマンスがさらに向上します。
MySQL 8.0 20210830バージョンでは(UK&PK)チェックに対してのみ作用しますが、今後のバージョンでは機能の範囲をさらに開放する予定です。

サポートするバージョン

カーネルバージョン MySQL 8.0 20210830およびそれ以降

ユースケース

クラウドオンライン上でショートクエリが比較的多く、かつprepare statement方式を使用している場合は、アプリケーションのパフォーマンスが向上します。具体的なパフォーマンスの上昇幅はオンライン業務によって異なります。

パフォーマンスへの影響

(UK&PK)をチェックするSQLについては、遅延パフォーマンスが20%~30%、スループットパフォーマンスが20%~30%それぞれ向上しました(sysbench中のpoint_select.luaテスト)。
メモリオーバーヘッドについては、プランキャッシュスイッチがオンの場合、オフの場合に比べてメモリ使用がやや上昇しました。

利用説明

cdb_plan_cacheスイッチを追加することでプランキャッシュをオンにするかどうかを制御し、cdb_plan_cache_statsスイッチを追加することでキャッシュのヒット状態の観察を制御します。これらのパラメータはtencentrootレベルです。
パラメータ名
ステータス
タイプ
デフォルト
パラメータ値範囲
説明
cdb_plan_cache
yes
bool
false
true/false
プランキャッシュをオン/オフにするスイッチ
説明:
ユーザーは現在、上記パラメータのパラメータ値を直接変更することはできません。変更する場合は、チケットを提出から変更することができます。
show cdb_plan_cacheコマンドを追加して、プランキャッシュのヒット状態を確認します。フィールドの意味は次のとおりです:
フィールド名
説明
sql
SQLステートメント。ここでは?の付いたSQLステートメントであり、このSQLの実行プランがすでにキャッシュされたことを表します
mode
SQLキャッシュの方式は、現時点ではprepare方式のみサポートしています
hit
本セッションのヒット回数
cdb_plan_cache_statsスイッチがオンの場合は、情報が記録されることになるため、パフォーマンスに影響する場合があります。

関連ステータス説明

show profileによってSQLの各実行段階のステータスを確認する際、SQLを実行してプランキャッシュがヒットした場合は、optimizing、statistics、preparingステータスが省略されます。

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック