我有一個三層系統。當某些條件不可用時減少邏輯讀取
- 的跟蹤/監測分貝(這是在MSSQL)
- Web服務作爲一個包裝與該通信DB
- 寡婦服務執行實際的操作
窗戶服務通常每分鐘向Web服務發送一次請求,以查看是否有任何要處理的內容。如果在跟蹤數據庫的任何記錄與狀態爲CREATED
過程被觸發。
狀態列有四個可能值
- REQUESTED
- CREATED
- FAILED
- 竣工
我創建該狀態列的索引與在必要的細節INCLUDE列表,並且在狀態爲CREATED的記錄中工作正常。
但是,如果Status沒有創建記錄,那麼會導致該表中有大量邏輯讀取。
當沒有狀態爲CREATED的記錄時,是否有減少邏輯讀取次數的建議?
檢查執行計劃以驗證索引是否按預期使用。如果查詢計劃顯示正在按預期使用索引,則會期望少量邏輯讀取。如果您提供「CREATE TABLE」,「CREATE INDEX」和查詢,它可能會有所幫助。無論如何,考慮一個過濾索引WHERE'Status ='CREATED''。 – 2014-11-08 02:53:44