Skip Navigation
Expand
実行中のクエリのパフォーマンスが低い - 行が多すぎる
Answer ID 9313   |   Last Review Date 01/27/2019

API呼び出しのレスポンスで「パフォーマンスの低いクエリ - 行が多すぎます」という例外が表示されるのはなぜですか?

環境:

Connect Web Services SOAP(CWS)API、REST API、Connect for PHP API、ROQL、すべての製品バージョン

回避策:

Oracle B2C ServiceパブリックAPIの1つからROQLクエリを実行すると、クエリによってスキャンされたデータベーステーブルの行の推定が実行されます。 この見積りは、データベースを保護し、データベースからの一貫性と信頼性の高い応答時間を確保するための安全性チェックとして実施されています。この見積もりは、返される行数ではなく、スキャンが必要な行数です。

事前スキャンが大きすぎると判断された場合、「実行中のクエリが不適切 - 検査済みの行が多すぎます」という例外が表示されます。異なるデータベースには、さまざまなしきい値(最大結合サイズ)があります。パブリックAPIの1つからクエリが実行された時に事前スキャンによって許可される量は、次のとおりです。

オペレーショナルデータベース - 200,000
レプリケーションデータベース - 500,000

注:これらは必須の設定であり、変更することはできません。

ROQLを使用した要求は、オペレーショナルデータベースまたはレプリケーションサーバーのいずれかに移動するように構成できます。レプリケーション・サーバーは、運用データベースの正確なコピーですが、運用データベースから実行するには大きすぎるクエリ(レポートで使用されるクエリを含む)を処理するように設計されています。このため、時間が遅れることがあります。

ROQLクエリの実行中にこのようなエラーが発生した場合は、クエリを再度実行する前にクエリを最適化することをお勧めします。 データベースインデックスも役立ちます。カスタムフィールドインデックスはコンソールから追加することができ、標準フィールドのインデックスは、クラウドエンジニアリングリソースに従事するテクニカルサポートへのSRで分析および実装できます。

標準フィールドにインデックスを追加するために使用されるプロセスの詳細については、以下を参照してください。 Answer ID 8702: Working with Technical Support to analyze for and implement database indexes.

追加情報にて Answer ID 7220: テクニカルドキュメントおよびサンプル・コード .

Available Languages for this Answer:

Notify Me
The page will refresh upon submission. Any pending input will be lost.