レポートサービスを使用して複雑なレポートを取得しました。レポートはSQl2005データベースに接続し、多数のストアドプロシージャと関数を呼び出しています。最初は問題なく動作しますが、数か月後(データが大きくなる)、タイムアウトエラーが発生します。
パフォーマンスを向上させるためにいくつかのインデックスを作成しましたが、インデックスの作成後に機能するという奇妙なことに、翌日同じエラーがスローされます。次に、データベースの統計を更新しようとすると、再び機能します(クエリの実行時間が10倍向上します)。しかし、再び、それは翌日動作を停止します。
さて、一時的な解決策は、1時間ごとに更新統計を実行することです。しかし、私はこの振る舞いについての合理的な説明を見つけることができません。データベースはそれほどビジーではなく、1日で大量のデータが更新されることはありません。更新統計はどのように大きな違いを生むことができますか?