OceanBase logo

OceanBase

トランザクション処理、分析、AIワークロードに最適な分散データベース

プロダクト概要
デプロイを自由に

OceanBase Cloud

OceanBaseの導入とスケーリングを最適化

エンタープライズ版

自社インフラ上での運用・管理に対応

オープンソース版を試す

コミュニティ版

開発者向けオープンソース分散データベース

OceanBase seekdb

AIネイティブなオープンソースの検索データベース

顧客事例

さまざまな業界の企業による導入事例を紹介します。

さらに見る
利用シーン別

あらゆるシナリオに対応するOLTP

ハイブリッドクラウドソリューション

大容量ストレージデータベースのコスト削減

リアルタイム分析混合ワークロード

複数インスタンスの統合

ドキュメント

会社概要

OceanBaseの企業情報、パートナーシップ、そして信頼性・セキュリティへの取り組みについて紹介します。

OceanBaseについて

トラストセンター

法的情報

お問い合わせ

日本 - 日本語
International - English
中国站 - 简体中文
クラウドで始める

OceanBase

トランザクション処理、分析、AIワークロードに最適な分散データベース

プロダクト概要
デプロイを自由に

OceanBase Cloud

OceanBaseの導入とスケーリングを最適化

エンタープライズ版

自社インフラ上での運用・管理に対応

オープンソース版を試す

コミュニティ版

開発者向けオープンソース分散データベース

OceanBase seekdb

AIネイティブなオープンソースの検索データベース

顧客事例

さまざまな業界の企業による導入事例を紹介します。

さらに見る
利用シーン別

あらゆるシナリオに対応するOLTP

ハイブリッドクラウドソリューション

大容量ストレージデータベースのコスト削減

リアルタイム分析混合ワークロード

複数インスタンスの統合

OceanBaseの企業情報、パートナーシップ、そして信頼性・セキュリティへの取り組みについて紹介します。

OceanBaseについて

トラストセンター

法的情報

お問い合わせ

クラウドで始める
编组
すべての製品
    • データベース
    • アイコンOceanBaseデータベース
    • アイコンOceanBase Cloud
アイコン

OceanBase Cloud

すべてのバージョン

    OceanBase ロゴ

    AI時代を支える分散データベース

    日本 - 日本語
    International - English
    中国站 - 简体中文
    プロダクト
    OceanBase Cloudエンタープライズ版コミュニティ版OceanBase seekdb
    会社概要
    OceanBaseについてトラストセンター法的情報お問い合わせ
    公式アカウント
    ConnpassXQiitaLumaGitHub

    © OceanBase 2026. All rights reserved

    クラウドサービス契約個人情報保護ポリシーセキュリティ
    お問い合わせ
    ドキュメントフィードバック
    1. ホーム
    2. OceanBase Cloud
    3. master
    アイコンOceanBase Cloud
    master
    データベース
    • OceanBaseデータベース
    • OceanBase Cloud
    • master

    OB CloudのリアルタイムSQL診断を体験する

    最終更新日:2026-06-09 02:55:39  更新
    シェア
    このページの内容
    前提条件
    背景
    ステップ1:ワークスペースの作成
    ステップ2:サンプルデータをインポートする
    ステップ3:スローSQLシナリオのシミュレーション
    ステップ4:スローSQLの分析
    ステップ5:SQL実行の最適化

    折りたたみ

    シェア

    このチュートリアルでは、OB Cloudが提供するリアルタイムSQL診断機能をすぐに体験できます。リアルタイムSQL診断は、可視化された方法でSQL実行プロセス中に実際の実行計画の状態をリアルタイムで照会・表示し、計画内の各演算子の実行時間とリソース使用状況を示します。これにより、SQLパフォーマンスの問題を迅速に調査するのに役立ちます。

    説明

    このチュートリアルは、OB Cloudコンソールでもインタラクティブなチュートリアルとして同時に公開されています。チュートリアルに従って、実際のOB Cloud環境でインタラクティブに体験することもできます。OB Cloudコンソールにログインした後、左側のナビゲーションバーの実践チュートリアルをクリックすると、公開されているすべてのインタラクティブチュートリアルを見ることができます。

    前提条件

    • 利用可能な分析型インスタンス(共有インスタンスまたはクラスタインスタンスのいずれか)があり、インスタンスのデータベースバージョンが4.3.3以上であること。

      現在利用可能なインスタンスがない場合は、OB Cloudの無料トライアルインスタンスを開始することができます。クリックして無料トライアルのルールと開始方法を確認してください。

    • ご利用のOB Cloudアカウントのロール権限がプロジェクト管理者であること。

    背景

    分析処理のシナリオでは、SQLクエリに時間がかかることがあり、場合によっては分単位や時間単位に達することもあります。SQLのパフォーマンス問題は、システムの運用効率に影響を及ぼすだけでなく、開発進捗も遅らせます。特に分散データベースのマルチノード環境では、問題はさらに複雑になります。例えば、分散実行計画の問題が存在するかどうかを判断する方法は?実行を遅らせているノードを迅速に特定する方法は?このような問題は、単一マシンのデータベースでは比較的単純ですが、分散データベースでは複数のリンクとノードが関わるため、問題の特定が困難になります。

    OB Cloudが提供するリアルタイムSQL診断機能は、SQL_PLAN_MONITORビューに基づき、各実行演算子の実行状況を収集し、スレッドの実行時間、I/O消費量などの詳細データをリアルタイムで表示することで、ユーザーがSQLパフォーマンスのボトルネックを迅速に特定し解決するのを支援します。

    リアルタイムSQL診断機能には、以下の主要な特徴が含まれます:

    • 実行が完了したSQL文の分析をサポートするだけでなく、実行中のSQL文に対するリアルタイム分析もサポートします。
    • 実行計画のグラフィカルビュー、テーブルビュー、テキストビューを提供し、各演算子の実行順序と接続関係を明確に表示します。
    • グローバルビューでは、Top 5の時間を消費する演算子を迅速に表示し、SQL文の実行にかかる全体の時間を集計することで、パフォーマンスボトルネックを素早く特定するのに役立ちます。
    • パラレル実行計画については、DB時間、I/Oメモリ、出力行数でソートでき、データの偏りなどの問題を迅速に特定できます。分散実行計画の分析もサポートします。
    • リアルタイムSQL診断インターフェースは、実行計画と全リンク診断を提供し、同一ページ上で詳細な実行解析を行うのに便利です。

    ステップ1:ワークスペースの作成

    1. OB Cloudコンソールのホームページの左側のナビゲーションバーで、データ開発 > ワークスペース を選択します。

    2. ワークスペース ページで、ワークスペースの新規作成 をクリックします。

    3. ワークスペースの新規作成 のポップアップウィンドウで、以下の設定を完了した後、新規作成 をクリックして、ワークスペースの作成を完了します。

      パラメータ
      説明
      ワークスペース名 カスタムのワークスペース名。
      関連するインスタンス 既存の分析型インスタンスを選択します。
      データベースアカウント + アカウントを作成 をクリックし、新しいデータベースアカウントを作成してこのワークスペースに関連付けます。
      パスワード 作成したばかりのデータベースアカウントのパスワードを入力します。

    ステップ2:サンプルデータをインポートする

    1. 作業スペース一覧ページで、ステップ1で作成した作業スペース名をクリックし、作業スペースの詳細ページに移動します。

    2. 左側のナビゲーションバーで、サンプルデータセット をクリックし、TPC_H_1G カードを検索してクリックします。データセットの詳細ページに移動します。

    3. インポート をクリックし、サンプルデータのインポート のポップアップウィンドウを開きます。

    4. 空のデータベースを選択 のドロップダウンメニューで、データベースの作成 をクリックします。

    5. データベースの作成が完了したら、そのデータベースを選択し、インポート をクリックします。

    6. インポートタスクの完了を待ち、インポート成功 のポップアップウィンドウで、ワークブックを開く をクリックして、データ開発ページに移動します。

    ステップ3:スローSQLシナリオのシミュレーション

    ここでは、典型的な特徴を持つSQLクエリを選択しました。このクエリはTPC-HベンチマークテストのQ20クエリであり、特定の条件を満たす特定の国(例:アルジェリア)のすべてのサプライヤーを検索することを目的としています。このクエリの特徴は、ソート、集計、INサブクエリ、および通常のサブクエリを含む2テーブルの結合操作です。これらの複雑なSQL操作は分散データベース環境では一般的であり、SQL実行時間が長くなりやすく、パフォーマンスボトルネックとなる原因となります。

    1. ワークブックのエディターウィンドウに以下のサンプルSQLステートメントを入力します。

      -- 指定された国(例:アルジェリア)で特定の条件を満たすサプライヤーを検索する
      SELECT s_name,  -- サプライヤー名
             s_address  -- サプライヤー住所
      FROM supplier,
           nation
      WHERE s_suppkey IN (
          -- 条件を満たすサプライヤーを検索する
          SELECT ps_suppkey
          FROM partsupp
          WHERE ps_partkey IN (
              -- 条件を満たす部品を検索する
              SELECT p_partkey
              FROM part
              WHERE p_name LIKE 'green%'  -- 部品名は 'green' で始まる
          )
          AND ps_availqty > (
              -- サプライヤーの在庫が特定のしきい値(出荷数の半分)を超える場合
              SELECT 0.5 * SUM(l_quantity)
              FROM lineitem
              WHERE l_partkey = ps_partkey
              AND l_suppkey = ps_suppkey
              AND l_shipdate >= DATE '1993-01-01'  -- 出荷日付範囲の開始点
              AND l_shipdate < DATE '1993-01-01' + INTERVAL '1' YEAR  -- 出荷日付範囲の終点
          )
      )
      AND s_nationkey = n_nationkey  -- サプライヤーの所在国
      AND n_name = 'ALGERIA'  -- 指定国をアルジェリアとする
      ORDER BY s_name;  -- サプライヤー名でソートする
      
    2. 実行 ボタンをクリックしてこのクエリを実行します。このクエリには、複数テーブルの結合、ソート、サブクエリなどの操作が含まれており、時間がかかる可能性があります。

    ステップ4:スローSQLの分析

    1. クエリの実行が完了したら、行プロファイル ボタンをクリックして、SQL診断ページに移動します。

      説明

      クエリが遅い場合は、クエリの実行中に結果領域の 実行プロファイルを表示 をクリックすると、リアルタイムSQL診断ページを開くこともできます。

    2. SQL診断ページで、実行詳細、実行プラン、または 完全なリンク診断 タブを選択すると、さまざまな観点からのSQL実行データを確認できます。

      • 実行詳細 タブでは、ページ右側の 所要時間 Top5 リストから、実行時間が最も長い演算子を見つけてクリックすると、その演算子をすばやく特定し、詳細を確認できます。

      • 実行計画図で、演算子下部の青いバーの長さを比較して、最も時間を消費する演算子を特定します。

    ステップ5:SQL実行の最適化

    SQL診断ページで提供される情報から、lineitem テーブルの全表スキャンがボトルネックであることがわかりました。そのため、関連列にインデックスを作成することにします。

    1. SQL診断ページを閉じてワークブックのエディタページに戻り、新しいエディタウィンドウを開いて、以下のステートメントを実行し、l_shipdate 列にインデックスを作成します。

      ALTER TABLE lineitem ADD INDEX idx_lineitem_shipdate (l_shipdate);
      
    2. ステップ3で使用したSQLステートメントを再度実行し、実行時間が改善されているかどうか確認します。

    3. クエリのパフォーマンスが依然として期待に達していない場合は、l_partkey、l_suppkey、および l_shipdate に対して複合インデックスを作成してみることができます。

      ALTER TABLE lineitem ADD INDEX idx_lineitem_partkey_suppkey_shipdate (l_partkey, l_suppkey, l_shipdate);
      
    4. 再度ステップ3のクエリを実行し、Hash JoinがNested-Loop Joinに最適化され、実行時間がさらに短縮されているかどうか確認します。

    前のトピック

    OB Cloudに基づくWordPress Webサイトの構築
    最後

    次のトピック

    OceanBaseに基づく可視化データボードの構築
    次
    このページの内容
    前提条件
    背景
    ステップ1:ワークスペースの作成
    ステップ2:サンプルデータをインポートする
    ステップ3:スローSQLシナリオのシミュレーション
    ステップ4:スローSQLの分析
    ステップ5:SQL実行の最適化