私は、システムで最も使用されている検索クエリを最適化しようとしています。これまで私はいくつかの欠落しているインデックスを追加しており、それは少し助けになっています。しかし、私はさらにDBサーバーの負荷を軽減したい。私が使用する1つのオプションは、asp.netキャッシュにLISTとして結果セットをキャッシュするので、頻繁にdbにヒットする必要はありません。選択クエリの結果セットをデータベースにキャッシュすることは可能ですか?
しかし、私は、データベースにも選択クエリの一部をキャッシュする方法があるのだろうかと思っていました。例えば検索結果では、過去180日間にアクティブで、共有情報がtrueに設定されているユーザーのみが対象となります。これは毎回dbが処理し、指定されたカテゴリ、都市などの他の条件が適用されるスーパーセットのようなものです。何とかスーパーセットをキャッシュして、テーブル全体に対してクエリを実行するのではなく、スーパーセットに対してクエリを実行できるようにすることは可能ですか?これでビューのヘルプを作成しますか?私は管理ビューを読んでオーバーヘッドになり、テーブルを修正する柔軟性を失うので、ビューを作成するのはちょっと躊躇しています。
私はSql-Server 2005を使用しているため、テーブルにフィルタリングされたインデックスを作成できません。これは役に立つと思われます。
遅い検索クエリを投稿できますか? –