3

診療所用のSQLServerを使用して新しいプロジェクトを開始しています。現在のデータベース(SQL Server 2008)には、15以上のテーブルにまたがる500,000を超える行があります。現在、彼らは、データ入力アプリケーションがレポートの生成と新しいデータの挿入に非常に時間がかかると不満を漏らしています。

私の新しいシステムでは、主に使用されるSQL Server 2012に3か月分の行のみが含まれ、2番目のSQLServer2012がシステムのすべてのデータを保持する2層データベースアプローチの開発を考えていました。このように、ユーザーが新しいデータを挿入すると、そのデータははるかに小さなシステムに入力され、最近のデータをクエリすると、クエリの実行速度が大幅に向上します。このシステムにもレポートがありますが、レポートはより大きなデータセットから生成する必要があると思います。

私の質問は次のとおりです

  1. このようなソリューションは、データベースの全体的なパフォーマンスを向上させますか?
  2. このソリューションにスケーラビリティの懸念はありますか?
  3. 毎晩2台のサーバー間でそのデータを転送するための最良の方法は何ですか?

私の解決策が意味をなさない場合は、他の解決策を自由に提供してください。

4

2 に答える 2

7

これをしないでください。アプリを複数のデータベースに分割することは、管理上の悪夢になります。さらに、レコードが妥当なサイズであると仮定すると、500k レコードはそれほど多くありません。

代わりに、ぶら下がっている果物を求めてください。ロギングを有効にして、アクセス パターンを調べます。どのクエリが遅いですか? 理由を理解してください。インデックスがありませんか? クエリを簡素化できますか? 問題をデバッグします。

問題にハードウェアを投入することが正しい解決策である場合があることを覚えておいてください。800 ドルのサーバーで問題を解決できるなら、それを実行してください。それはあなたの時間よりずっと安いです。

于 2013-01-08T04:07:28.993 に答える
0

補足: 500K レコードはそれほど大きくありません。チューニングを行うだけで、データベースを非常に高速に動作させることができるはずです。

于 2013-01-08T04:17:35.257 に答える