1

我有一個由多租戶應用程序使用的數據庫。在這個數據庫中,工作負載是動態的並且不斷變化因此我必須分配DA來連續管理數據庫。但我想爲這項任務使用自動化服務,例如Azure SQL Database Advisor - 自動索引管理(平臺並不重要 - 我可以使用MS sql server或oracle或其他RDBMS)。自動數據庫索引

我想知道這些自動索引如何實際工作。我可以用這些自動索引器替換數據庫管理員。我讀過,每當查詢執行計劃生成時,它會找出所有有用的索引來執行該查詢。然後它使用真實存在的索引並緩存一些關於不存在索引的數據。如果索引數據被一次又一次緩存,sql顧問會將其作爲推薦索引顯示。但我想知道我們可以繼續這個,更新和插入查詢呢?如果我有一個記錄頻繁更新的表格,這些自動索引系統會考慮這個問題?

+1

一般來說,一個dba比決定索引做得更多。你不能認真地認爲這可以取代一個。 – HLGEM

+0

@HLGEM - 我知道,DA比索引更多。但我只是想知道我是否可以從索引任務中釋放DA – user3641302

回答

4

請注意,Index Advisor僅在SQL數據庫(Azure)中可用。

在後臺索引顧問是一個機器學習算法,一個相對簡單和相當有效的算法。它會分析你的工作量,看你是否會從索引中受益。如果他認爲你會這樣做的話,那麼它會顯示你作爲一個建議 - 如果你打開自動索引創建/刪除它實際上會創建索引。要更好地瞭解它的工作原理,請參閱Channel 9。請注意,在您應用建議之前,您可以獲得估計的影響力。

現在的算法可以犯錯誤,對吧?所以一旦建議被應用,它可以自動恢復爲based on its performance

另請注意,在Index Advisor旁邊,您可以檢查Query Performance Insights這將顯示您查詢的性能。所以這可以幫助您的DBA診斷其他與索引無關的問題。

但請注意,Index Advisor不會爲每個小時爲您創建新索引,而是需要一兩天。因此,如果您的數據庫的工作負載變化非常快,那麼我不確定任何自動管理工具或DBA會對您的工作負載做出足夠快的反應。