2011-12-19 13 views
1

基本表を読み取って集計を実行し、変更されたフラグで表を更新するバッチ・プロセスがあります。ロック・テーブル更新ステートメントを実行する時間がかかりますoracle

約3百万行を更新する更新ステートメントがあります。ビジネス要件の一部として、更新中のテーブルにテーブルレベルのロックが必要です。私たちが作っ

UPDATE TABLE1 t1 SET PARAMETER1=(SELECT p1 from TABLE2 t2 where t1.ROW_ID=ROWIDTOCHAR(t2.ROW_ID) 

観察今日はなしで、テーブルレベルのロックが20分を取っている間に、テーブルレベルロックと更新文は35分を取っている、ということです。

私はこの観察を確認することができません。助けてください!

乾杯、 Dwarak

+3

あなたが指定したステートメントは一貫性があるため、他のアクティビティが同時に発生していてもテーブルは正しく更新されます。あなたは、テーブルレベルのロックを必要とするビジネス要件について詳しく述べることができますか? – Randy

+1

あなたはこの観察を確認できないのですか?それとも理解できないのですか?どのような正確な助けを私たちがあなたに与えたいのですか? – APC

+0

私はこの観察を理解してそれを確認したいと思います。 –

答えて

1

誰もが、あなたのデータベースがあなたの観察の理由を言うことができます。 AWRレポートを作成する必要があります。

UPDATEが以前にロックされていたために長く実行される可能性があります。

1

あなたのテストで(データベースとファイルシステムの両方の)キャッシュを考慮しましたか?あなたが何をしたかに応じて、すでにメモリ内にあるデータのために1つのステートメントがより速く実行されている可能性があります。

関連する問題