tencent cloud

フィードバック

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

最終更新日:2023-01-12 16:02:47

    機能の説明

    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ステータスが省略されます。

    お問い合わせ

    カスタマーサービスをご提供できるため、ぜひお気軽にお問い合わせくださいませ。

    テクニカルサポート

    さらにサポートが必要な場合は、サポートチケットを送信して弊社サポートチームにお問い合わせください。24時間365日のサポートをご提供します。

    電話サポート(24 時間365日対応)