我想優化我們的系統中使用最多的搜索查詢。到目前爲止,我已經添加了一些缺失的索引,並略有幫助。但我想進一步減少數據庫服務器上的負載。我將使用的一個選項是將結果集作爲LIST緩存在asp.net緩存中,這樣我就不必頻繁地訪問數據庫。是否可以緩存數據庫中選擇查詢的結果集?
但是,我想知道是否有辦法在db中緩存select查詢的一些部分。例如對於搜索結果,我們只考慮在過去180天內活躍並且將共享信息設置爲true的用戶。因此,這就像db每次處理的超級集合,然後應用其他條件,如指定的類別,城市等。有沒有可能以某種方式緩存超級集合,以便我可以針對超級集合運行查詢,而不是針對整個表運行查詢?將在此創建一個View的幫助?在讀取管理視圖時,我有點猶豫是否需要創建視圖,這可能會造成開銷,並且會消耗一些靈活性來修改表格。
我正在使用Sql-Server 2005,因此無法在表上創建過濾索引,我認爲這會對您有所幫助。
你能發佈緩慢的搜索查詢嗎? –