亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 數據庫 > 
  • Dex – MongoDB索引優化工具怎么使用以及原理有哪些

Dex – MongoDB索引優化工具怎么使用以及原理有哪些

發布時間:2021-09-29 10:17:47 來源:億速云 閱讀:165 作者:柒染 欄目:數據庫

Dex – MongoDB索引優化工具怎么使用以及原理有哪些,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

  Dex是一個開源的MongoDB優化工具,它通過對查詢日志和當前數據庫索引進行分析,向管理員提出高效的索引優化策略。

  Dex – MongoDB索引優化工具怎么使用

  安裝

  pip install dex

  開始監控

  dex -f mongodb.log mongodb://localhost

  在監控過程中,dex會通過stderr輸出推薦的結果

  {

  "index": "{'simpleIndexedField': 1, 'simpleUnindexedFieldThree': 1}",

  "namespace": "dex_test.test_collection"

  "shellCommand": "db.test_collection.ensureIndex(

  {'simpleIndexedField': 1, 'simpleUnindexedFieldThree': 1}, {'background': true})"

  }

  還會輸出一些統計信息

  Total lines read: 7

  Understood query lines: 7

  Unique recommendations: 5

  Lines impacted by recommendations: 5

  我們看到,在輸出結果中,有一個shellCommand字段,里面就是添加索引的語句,如果你覺得dex的推薦不錯,就可以直接復制這段腳本在MongoDB上添加索引了。相當方便。

  除了運行過程中會向stderr中輸出信息名,在運行結束后,推薦信息還會打包成一個大的JSON對象在stdout中輸出一次。

  Dex – MongoDB索引優化工作原理有哪些

  Dex在運行過程中主要會進行下面三個步驟。

  1.解析query

  2.通過已存在的索引對當前query進行判斷

  3.如果發現索引不當,就推薦合適的索引

  第一步:解析query

  Dex會對查詢query進行解析,分成下面幾大類

  EQUIV – 普通按數值進行的查詢,比如:{a: 1}

  SORT – sort操作,比如: .sort({a: 1})

  RANGE – 范圍查詢,比如:Specifically: ‘$ne’, ‘$gt’, ‘$lt’, ‘$gte’, ‘$lte’, ‘$in’, ‘$nin’, ‘$all’, ‘$not’

  UNSUPPORTED

  組合式查詢,比如:$and, $or, $nor

  除了RANGE之外的嵌套查詢

  第二步:判斷當前索引情況

  有兩個標準來找出查詢所需的索引。

  Coverage (none, partial, full) - Coverage表示索引的情況,有括號中的三個值。none表示完全無索引覆蓋。full表示query中的字段都能找到索引。partial表示none和full之間的情況。

  Order (ideal or not) - Order是用于判斷索引的順序是否理想。理想的索引順序應該是:

  Equivalence ○ Sort ○ Range

  值得注意的是,對地理位置索引只會進行分析,但是不會提出改進建議。

  第三步:推薦合適的索引

  通過上面兩步,我們能夠對一個查詢可能使用索引的情況有一個了解。Dex會生成一個此查詢的最佳索引。如果這個索引不存在,并且查詢情況不包括上面提到的UNSUPPORTED,那么Dex就會做出相應的索引優化建議。

  Dex未來還會推出很多新功能,比如使用system.profile日志來進行推薦,支持地理索引等等。詳情可見其項目主頁。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

扶风县| 靖远县| 岱山县| 成都市| 六枝特区| 封开县| 南昌市| 杂多县| 兴义市| 安远县| 毕节市| 鄯善县| 鞍山市| 津市市| 温宿县| 丰县| 华安县| 六盘水市| 南皮县| 葫芦岛市| 漯河市| 阳信县| 青岛市| 梅州市| 开阳县| 平塘县| 湄潭县| 海口市| 简阳市| 汶上县| 呼和浩特市| 邢台市| 博客| 剑阁县| 祁门县| 嘉义市| 连州市| 临高县| 洪洞县| 都兰县| 泗阳县|