このページには、異常なクエリ実行時間を引き起こす既知の問題とその解決方法が記載されています。

このリストに問題が見つからない場合は、さらに調査を進めるために「処理に時間のかかるクエリのトラブルシューティング」のドキュメントページにリダイレクトします。

問題 1 - インデックスコストが高すぎて処理に時間がかかる

特定の環境では、カスタム lucene プロパティインデックス(oak:QueryIndexDefinition)を使用するカスタム JCR または QueryBuilder クエリについて、大量のコンテンツがある AEM 環境では処理に時間がかかります。

環境

AEM6.3、AEM 6.4

原因

実行のためにインデックスによって返されるコストが非常に高いため(システムのコンテンツ量が多いため)、代わりに別のインデックスがクエリに使用されています。

解決策

間違ったインデックスがクエリに使用されている可能性があります。  クエリの説明ツールツール操作診断クエリパフォーマンスクエリの説明)を使用してこれをデバッグできます。

  1. インデックスを制限するために、すべてのカスタムインデックス上の oak:QueryIndexDefinition ノード(例:/oak:index/customIndex)に includedPathsqueryPaths を追加します。  これにより、インデックスはパスを含むクエリのみを処理するようになります(例えば、クエリがパス /content/mysite - /jcr:root/content/mysite[@foo=1] で始まる場合、includedPaths および queryPaths(String[])プロパティには両方とも値 /content/mysite があります)

  2. entryCount(Long)を小さい数に設定するか、ここに記載されているように costPerEntry(Double)および costPerExecution(Double)プロパティを調整して、カスタムインデックスのコスト見積もりを微調整します。

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

リーガルノーティス   |   プライバシーポリシー