私はオンラインの写真コミュニティを運営していますが、サイトがデータベースへのアクセスでクロールし、タイムアウトになることがあるようです。
私は自分自身が SQL クエリの作成とテーブルの設計にかなりの能力があると考えていますが、決して DBA ではありません...それが問題です。
背景:
私のサイトと SQL サーバーはリモート ホストで実行されています。Visual Studio から ASP.NET コードを更新し、SQL Server Mgmt を介して SQL を更新します。スタジオエクスプレス。サーバーに物理的にアクセスできません。
すべてのストアド プロシージャ (すべて取得したと思います) は、トランザクションでラップされています。
現時点では、メイン テーブルは 9400 レコードのみです。毎晩、このテーブルに 12 個の新しいレコードを追加します。
このメイン テーブルには、他の複数のテーブルのデータを 1 つのビューにまとめるビューがあります。
セカンダリ テーブルは小さいレコードですが、より多くのレコードです。あるものは70,000、別のものは115,000。これらは、#3 の項目に対するコメントと評価の記録です。
インデックスは、最も必要なフィールドにあります。そして、大きなテーブルで統計を自動再計算するように設定しました。
サイトが停止したときに、コードを実行してトランザクション ログをクリアし、統計を更新し、メイン ビューを再構築し、ストアド プロシージャを再構築してコメントを取得すると、速度が回復します。ただし、これを手動で行う必要があります。
悲しいことに、ユーザーはこれらの問題に不満を感じ、参加が減っていきます。
私の質問は...リモート環境で、SQLデータベースをピーク時に実行し続けるためにメンテナンス計画をセットアップしてスケジュールする最良の方法は何ですか?
本当にありがとう!KLK