プランキャッシュ(Plan Cache)は、OceanBaseデータベースがSQL実行効率を最適化するための重要な仕組みです。SQLの実行計画をキャッシュすることで、重複したコンパイルや最適化によるオーバーヘッドを回避し、クエリ性能を大幅に向上させます。
本記事では、OceanBaseデータベースが提供するプランキャッシュビューについて説明します。これにより、プランキャッシュ状態の監視および分析方法を包括的に習得できます。
プランキャッシュビューの紹介
OceanBaseは、プランキャッシュの実行状態と実行計画情報を確認するために、以下のシステムビューを提供しています:
| ビュー名 | 機能の説明 |
|---|---|
| (G)V$OB_PLAN_CACHE_STAT | 現在のテナントにおける現在(すべての)OBServerノード上の計画キャッシュ全体の状態を表示します。詳細については、次を参照してください: |
| (G)V$OB_PLAN_CACHE_PLAN_STAT | 現在のテナントにおける現在(すべての)OBServerノード上の計画キャッシュにキャッシュされている各キャッシュオブジェクトの状態を表示します。詳細については、次を参照してください: |
| (G)V$OB_PLAN_CACHE_PLAN_EXPLAIN | 現在(すべての)OBServerノードにキャッシュされている計画キャッシュ内の物理実行計画を表示します。詳細については、次を参照してください: |
説明
GV$*:クラスタ全体の実行状態とパフォーマンスメトリクス情報を表示するために使用されます。このようなビューはクラスタ全体でアクセス可能であり、グローバルな状態情報を提供します。アクセス権限によって以下のように区別されます:- sysテナントからアクセスする場合、すべてのテナントの情報が表示されます。
- 通常のテナントからアクセスする場合、そのテナントの情報が表示されます。
V$*:クライアントが接続したノードの実行状態とパフォーマンスメトリクス情報を表示するために使用されます。このようなビューは、クライアントが接続したノードの状態情報のみを提供するために使用できます。他のノードの状態情報にアクセスする必要がある場合は、GV$*ビューを使用してください。