機能説明
MySQLデータのSQL実行ステップは主に解析、準備、最適化、実行の四つの段階を含みます。実行計画キャッシュ機能はprepare statementモードで機能します。prepare statementモードはexecute時に解析と準備の二つの段階を省略します。実行計画はさらに最適化段階を省略し、パフォーマンスをさらに向上させます。
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_statsパラメータスイッチを有効化した場合のみ、show cdb_plan_cache_statコマンドで関連データを確認できます。有効化が必要な場合はサポートチケットを提出してください。 show cdb_plan_cacheコマンドはプランキャッシュのヒットステータスを確認するために使用され、フィールドの意味は以下の通りです。
|
| SQL文。ここに「?」を含むSQL文が表示されます。これはこのSQLの実行プランがキャッシュされていることを示します。 |
| SQLキャッシュのモードは、現在prepareモードのみをサポートしています。 |
| |
注意:
cdb_plan_cache_statsスイッチを有効にすると、情報記録に相当するため、パフォーマンスに影響を与える可能性があります。
関連ステータスの説明
show profileを使用してSQL実行の各段階ステータスを確認する際、実行SQLがプランキャッシュにヒットした場合、optimizing、statistics、preparingのステータスは省略されます。