我做我的MS SQL 2008數據庫的索引報告(右鍵數據庫 - >報告 - >索引使用統計)當保持索引 - 分析在SQL Server索引的使用統計中2008
它告訴我我的指標之一用途: 88用戶尋求 0用戶掃描 6134141用戶更新
有人能向我解釋:
- 什麼用戶之間的區別尋求和用戶掃描是?
- 我該如何確定何時保留索引或取決於用戶尋求+用戶掃描還是用戶更新?
我認爲在這種情況下維護索引的成本是不值得的。
我做我的MS SQL 2008數據庫的索引報告(右鍵數據庫 - >報告 - >索引使用統計)當保持索引 - 分析在SQL Server索引的使用統計中2008
它告訴我我的指標之一用途: 88用戶尋求 0用戶掃描 6134141用戶更新
有人能向我解釋:
我認爲在這種情況下維護索引的成本是不值得的。
最重要的一點需要注意:每次啓動數據庫時,索引使用統計信息都會重置。所以,很難在不知道上次重新啓動的情況下評估您的88次搜索。在過去一個小時內,88個尋求與上個月的88個尋求完全不同。
Snipit從文章(絕對不妨一讀,雖然):
掃描
索引掃描是所有索引的葉級頁的完整讀取。當索引掃描在聚簇索引上完成時,它是除了名字外的所有表掃描。
當索引掃描由查詢處理器完成時,無論是否返回所有行,它始終是索引中所有葉頁的完整讀取。它從來不是局部掃描。
掃描不僅涉及讀取索引的葉級別,更高級別的頁面也會作爲索引掃描的一部分讀取。
尋求
索引查找是其中SQL使用B樹結構來定位任一特定的值或範圍的值的開頭的操作。爲了使索引成爲可能,必須在查詢中指定一個SARGable3謂詞和一個匹配(或部分匹配)的索引。匹配索引是查詢謂詞使用索引列的左側子集的索引。這將在本系列的第3部分中進行更詳細的檢查。
從根頁面開始評估查找操作。使用根頁面中的行,查詢處理器將定位索引下一個較低級別中的哪個頁面包含正在搜索的第一行。然後它將讀取該頁面。如果這是索引的葉級別,則查找在那裏結束。如果它不是葉子,則查詢處理器再次識別下一個較低級別的哪個頁面包含指定的值。這個過程一直持續到葉級達到。
一旦查詢處理器找到包含指定鍵值或指定鍵值範圍的開始的葉頁面,則它將沿葉頁讀取,直到返回了與謂詞匹配的所有行。