perl DBIを介してアクセスするoracle 10gを使用すると、数千万の行が1秒間に数回更新され、他のプロセスから頻繁に読み取られる表があります。いつ変更をコミットしますか?
すぐに、更新頻度は1桁(おそらく2)増加します。 誰かが、毎回更新するのではなくN回の更新をすべてコミットすると、パフォーマンスが向上することを提案しました。
私はいくつか質問があります:それは速いか遅いか、それが(とすぐに新たな負荷のまともなシミュレーションを得ることができるようなベンチマークに両方の方法を計画する)依存だろう
- を
- それはなぜでしょうヘルプ/パフォーマンスの低下。
- 「それは...依存している」場合は、何ですか?
- Nの最良の価値を助けるならば?
- 私のDBAが必要なときに役立つストレートな答えが得られないのはなぜですか?
(実は私はその1つの答えを知っている):-)
EDIT:
@codeslave:おかげで、ところで コミットされていない変更を失うことは問題ではありません、私は削除しないでください 元のデータは、私はすべて で結構です確信してまで、ところで女性のクリーニングする は、いくつかのグーグルでは、それがため を助けるかもしれない示したTWICE
:-)、サーバーを抜いたの更新に を使用しましたロールバックに関連する問題の セグメントですが、数十万回ごとにNのために大雑把には のルールがわかりません。 何百?千 ?
@diciu:素晴らしい情報、私は間違いなく を見てください。
なぜそれが助けになるのか詳しく説明できますか? – Pat
より少ないSQL操作でより多くのデータを処理できるためです。それはより速い –