0

SQL Server 2008 Standard Edition を使用しています。

一部のテーブルには、約 200 万行のデータが含まれています。私たちは M$ Access フロント エンドを使用しています (恐ろしいことはわかっていますが、現時点では大きすぎて書き直すことができません)。

Access のパフォーマンスが低下し始めているため、パフォーマンスと速度を向上させたいと考えています。

私はパーティション分割されたテーブルを調べましたが、これは完璧に見えましたが、Standard エディションでは不可能でした。アップグレードは££,£££ であるため、問題外です。

データベースを別々のデータベース (年ごとに 1 つ) に分割し、パーティション分割されたビューを使用してデータにアクセスすることもできますが、これによってパフォーマンスがどの程度向上するかはわかりません。

すでに毎晩インデックスを再構築しているので、問題ありません。

アイデアや提案はありますか?

パーティション化されたビューは、それが役立つように見える主なものですが、実際の利益については確信が持てません.

ありがとう

4

2 に答える 2

1

まず、オプションである場合は、不要になったデータをアーカイブできます。

たとえば、本番システムがこれより古いデータを参照する必要がないため、特定のテーブルから 3 年以上前のデータを毎日アーカイブしていました。これにより、完全なインデックスの再構築などのためにテーブル サイズを管理しやすくなります。

ただし、各行に大量のデータがない限り、200 万行はあまり聞こえません (上記では、1 億行を超えるテーブルについて話しています)。

次に、使用しているクエリを評価して、最適化できる方法があるかどうかを確認できます。

第三に、持っているインデックスと持っていないインデックスを再評価します。SQL Server プロファイラーとアナライザーを使用して、作成 (または削除) する推奨インデックスのリストを作成できます。

于 2013-09-13T10:55:29.663 に答える
1

インデックスを使用しようとしましたか? データベースのワークロードをプロファイリングし、コストのかかる選択を検索しましたか? 通常、選択があり、それらをデータベースで実行する場合は、実行計画を含めて、欠落しているインデックスとルックアップを探します。データベース エンジン チューニング アドバイザhttp://technet.microsoft.com/en-us/library/ms173494(v=sql.105).aspxを使用して、データベースのインデックスを再作成できます。間違いなく行く方法ではありません)このソリューションhttp://ola.hallengren.com/を使用できます。最後のステップでは、パフォーマンスを向上させるためにハードウェアを変更することを検討できます。データベースの感覚をつかむために、私は 5000 万行の非常に高速なテーブルと 1TB を超えるデータベース サイズで作業しています。

于 2013-09-13T10:58:01.443 に答える