摘要:?近日,阿里云數據庫小分隊破解了致使云數據庫MongoDB運行變慢的原因,最大“禍首”竟是索引。
近日,阿里云數據庫小分隊破解了致使云數據庫MongoDB運行變慢的原因,最大“禍首”竟是索引。
索引對于數據庫來說有多重要?
索引的目的在于提高查詢效率,類比字典,如果要查“mysql”這個單詞,我們肯定需要定位到m字母,然后從下往下找到y字母,再找到剩下的sql。如果沒有索引,那么你可能需要把所有單詞看一遍才能找到你想要的,當然數據庫的索引要比這個復雜的多。
總的來說,索引的一個主要目的就是加快檢索表中數據的方法,也能協助信息搜索者盡快的找到符合限制條件的記錄ID的輔助數據結構。
索引的優點無可厚非,但是如果運用不當,就會使數據庫運行變慢。用戶在使用阿里云數據庫MongoDB時,常會因為漏加索引或者使用不恰當的索引,導致數據庫性能差,影響業務使用。數據庫性能差表現為查詢語句慢或超時,CPU使用率高。
基于此,阿里云MongoDB推出了索引推薦功能,幫助用戶發現漏加索引或者使用不恰當索引的慢查詢,并為這些慢查詢提供相應的最優索引,達到提升數據庫性能的目標。
在審計日志開通的前提下,可默認生成最近3天(每天0點-24點為一份報告,共3份)的索引診斷報告。超過3天的報告內容不保留。
用戶根據自身需求,或監控數據,自定義分析最近3天內任意一個時間段的慢查詢及索引推薦報告。
索引推薦操作步驟:
1.登錄MongoDB管理控制臺,找到目標實例。
2.單擊實例ID或者管理進入基本信息頁面。
3.在左側導航欄中,選擇CloudDBA->推薦索引查看索引診斷報告列表,如下圖所示。
?
4.單擊自定義分析打開自定義分析對話框,您可以設置查詢時間查看具體時間段內的索引診斷報告。?
5.單擊某個索引列表后的查看詳情查看指定索引診斷詳情。
??
6.單擊上圖集合列表后的查詢詳情,打開分析詳情窗口,您可以查看推薦索引以及合并推薦索引等詳細信息。?
據悉,索引推薦功能暫時支持華東1,華東2,華南1,華北1,華北2 五個地域。MongoDB副本集及集群版實例支持索引推薦功能,單節點實例暫不支持。
本文為云棲社區原創內容,未經允許不得轉載。
評論