Documentumアプリケーションでオブジェクトを取得する場合、長い時間がかかります。データソースochで長時間実行クエリオプションをアクティブにしましたが、以下のクエリに時間がかかりすぎることがわかりました。
select all
b.r_object_id, dm_repeating1_0.state_name, a.object_name
from
dm_policy_sp a,
dm_sysobject_sp b,
dm_policy_rp dm_repeating1_0
where
(
(a.r_object_id=b.r_policy_id)
and (dm_repeating1_0.i_state_no=b.r_current_state)
and b.r_object_id in (N'a long, long list of IDs')
or a.r_object_id in (N'a long, long list of IDs')
)
and /* ... */
ご覧のとおり、テーブル「a」はポリシーテーブルであり、7つのレコードしかありません。object_id
両方の「または」演算子の後のSQLステートメントで、テーブル「a」で100個の間のオブジェクトを探しています。クエリを実行し、テーブル "b"(systemObjects
)でそれらのオブジェクトを検索したところ、これらのオブジェクトがテーブルbに属していることがわかりました。
上記のクエリには約17分かかります。テーブルの「または」演算子の後のテーブルの名前をbに変更した場合、10秒しかかかりませんでした。
このクエリは間違っていると思います。Documentumのバグなのか、Documentumの設定が間違っているのかはわかりません。このSQLまたは関連コンポーネントを作成するDQLをどこで見つけることができるかわかりませんか?何か案が?