1

SQL Server で実行され、.net c# で開発されたアプリケーションをサポートしています。アプリケーションはローカル システム (ERP) から情報を取得し、1 日にいくつかのバッチで処理します (ほとんどの場合、1 つのバッチで処理します)。次に、それをチャートとレポートの形式でユーザーに提示します (アプリケーションは基本的にレポート アプリケーションです。データ入力はほとんど行われず、会社のローカル システム上で行われます)。

アプリケーションが実装されたいくつかの大企業では、履歴の量がいくつかの重要なテーブルに蓄積され始めたため、処理時間が大幅に増加し始め、バッチ プロセスあたり 30 分から 6 時間または 7 時間になりました。ソフトウェアの他のいくつかのタスクでも、パフォーマンスが低下しました。

(バッチ処理で) 1 日あたりに処理されるレコードの量は、多かれ少なかれ同じままです (1 日あたり 500.000 から 1'000.000 レコードの間で、複数のテーブルに分散しています)。

これは、SQL Server で実行されているシステムから予期されることですか? Oracle を DB として使用すると、この種の問題が解消されるか、少なくとも軽減されるでしょうか? それとも、使用するDBに関係なく、代わりにDBとアプリケーションの設計に焦点を当てる必要があると思いますか?

4

2 に答える 2

1

SQL Server は、テラバイト単位の情報を簡単に処理できます。おそらく問題は、大規模なデータベースを設計または保守する方法を実際に知っている人がいないことです。大規模システムで経験のある DBA がいない場合は、採用する必要があります。データベースの専門家に設計を依頼する必要がありました。ORM を使用している場合、それが問題の原因になっている可能性が非常に高くなります。問題は、インデックス作成、SQL コード、ネットワークのテーブル設計、不十分なハードウェア、古い統計などにもある可能性があります。あなたは専門家の領域にいて、専門家を雇うか作成する必要があります。 . 少なくとも、最初から最後までパフォーマンス チューニングに関する本を何冊か読む必要があります。実稼働負荷の下でシステムのパフォーマンスが低下する原因は数多くあります。

于 2013-04-24T21:32:32.850 に答える