1

私は Documentum を初めて使用し、単純な問題を抱えています。最終変更に従ってすべてのレコードを取得しようとしています。

基本的に、1000 レコードのデータテーブルがあります。

現在使用している

Select * from docfolder enabled (FETCH_ALL_RESULTS 1000)

上記のステートメントの問題は、新しく作成されたレポートまたは変更されたレポートが 1000 の範囲外になることがあり、ユーザーがレポートが見つからないと文句を言うことがあります * 有効な苦情 *

実際には、最後に変更されたレコードがリストの最初である必要はなく、表示されるだけで済みます。

使ってみた

Select * from docfolder order by r_modify_date enabled (FETCH_ALL_RESULTS 1000)

しかし、これには時間がかかりすぎます (決して完了しません)。* を a,b,c,d (フィールド) に置き換えてみましたが、うまくいきません。

私の問題に対する他の解決策があるかどうかを知ることはできますか?

documentum の "ENABLE (RETURN_TOP 10)" ヒントを検討していますが、Oracle 11g で機能するとは思えません。また、documentum は上位 1000 をどのように定義していますか?

更新: ヒキガエル経由でデータ リンクを使用する方が DQL を使用するよりも高速なようですが、レガシーの問題により DQL ソリューションが必要です。

Documentum 6.0 および Oracle 11g。

4

2 に答える 2

2

どのバージョンの Documentum を使用していますか?

r_object_id にインデックスがあることを確認してください。r_modify_date にインデックスを追加することもできます。

さらに、フィールド a、b、c、d を追加するときは、これらのフィールドが「繰り返さない」ことを確認してください。このようにすると、Documentum は _r テーブルを結合する必要がなくなり、クエリ全体が高速になります。

さらに、DA でクエリを実行すると、実際に Oracle に渡された SQL クエリを確認できます。このクエリを Toad で実行し、最適化を探します。_s テーブルを登録して、_s テーブルを直接 DQL クエリできるようにすることもできます。

于 2013-01-22T15:26:39.303 に答える
0

Oracleデータベースの下にある表を照会することで、この問題を解決することができました。

パフォーマンスが低下した理由は、結果を取得するためにテーブルが共同で開始されたためです。

将来、DQL を最適化するすべての方法を使い果たした場合は、Oracle データベースのクエリにフォールバックしてください。

すべてのテーブル ビューと検索をオラ​​クル経由でクエリすることをお勧めします。

個々のレポートのみが documentum を介して取得されます。documentum を使用する目的に疑問を抱くこともあります。

于 2013-01-29T12:59:53.707 に答える