婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > MongoDB性能篇之創建索引,組合索引,唯一索引,刪除索引和explain執行計劃

MongoDB性能篇之創建索引,組合索引,唯一索引,刪除索引和explain執行計劃

熱門標簽:兗州電話外呼營銷系統 智能電銷機器人銷售話術 徐州ai電銷機器人原理 企業智能外呼系統價格多少 高德地圖標注商戶位置 福州電銷機器人源代碼 南京400電話怎樣辦理 機器人外呼系統軟件存在問題 沈陽營銷電銷機器人招商

一、索引

MongoDB 提供了多樣性的索引支持,索引信息被保存在system.indexes 中,且默認總是為_id創建索引,它的索引使用基本和MySQL 等關系型數據庫一樣。其實可以這樣說說,索引是凌駕于數據存儲系統之上的另一層系統,所以各種結構迥異的存儲都有相同或相似的索引實現及使用接口并不足為 奇。

1.基礎索引

在字段age 上創建索引,1(升序);-1(降序):

db.users.ensureIndex({age:1})

_id 是創建表的時候自動創建的索引,此索引是不能夠刪除的。當系統已有大量數據時,創建索引就是個非常耗時的活,我們可以在后臺執行,只需指定“backgroud:true”即可。

db.t3.ensureIndex({age:1} , {backgroud:true})

2.文檔索引

索引可以任何類型的字段,甚至文檔:

db.factories.insert( { name: "wwl", addr: { city: "Beijing", state: "BJ" } } );
//在addr 列上創建索引
db.factories.ensureIndex( { addr : 1 } );
//下面這個查詢將會用到我們剛剛建立的索引
db.factories.find( { addr: { city: "Beijing", state: "BJ" } } );
//但是下面這個查詢將不會用到索引,因為查詢的順序跟索引建立的順序不一樣
db.factories.find( { addr: { state: "BJ" , city: "Beijing"} } );

3. 組合索引

跟其它數據庫產品一樣,MongoDB 也是有組合索引的,下面我們將在addr.city 和addr.state上建立組合索引。當創建組合索引時,字段后面的1 表示升序,-1 表示降序,是用1 還是用-1 主要是跟排序的時候或指定范圍內查詢 的時候有關的。

db.factories.ensureIndex( { "addr.city" : 1, "addr.state" : 1 } );
// 下面的查詢都用到了這個索引
db.factories.find( { "addr.city" : "Beijing", "addr.state" : "BJ" } );
db.factories.find( { "addr.city" : "Beijing" } );
db.factories.find().sort( { "addr.city" : 1, "addr.state" : 1 } );
db.factories.find().sort( { "addr.city" : 1 } )

4. 唯一索引

只需在ensureIndex 命令中指定”unique:true”即可創建唯一索引。例如,往表t4 中插入2 條記錄:

db.t4.ensureIndex({firstname: 1, lastname: 1}, {unique: true});

5.強制使用索引

hint 命令可以強制使用某個索引。

db.t5.find({age:{$lt:30}}).hint({name:1, age:1}).explain()

6.刪除索引

//刪除t3 表中的所有索引
db.t3.dropIndexes()
//刪除t4 表中的firstname 索引
db.t4.dropIndex({firstname: 1})

二、explain執行計劃

MongoDB 提供了一個 explain 命令讓我們獲知系統如何處理查詢請求。利用 explain 命令,我們可以很好地觀察系統如何使用索引來加快檢索,同時可以針對性優化索引。

db.t5.ensureIndex({name:1})
 db.t5.ensureIndex({age:1})
 db.t5.find({age:{$gt:45}}, {name:1}).explain()
 {
   "cursor" : "BtreeCursor age_1",
   "nscanned" : 0,
   "nscannedObjects" : 0,
   "n" : 0,
   "millis" : 0,
   "nYields" : 0,
   "nChunkSkips" : 0,
   "isMultiKey" : false,
   "indexOnly" : false,
   "indexBounds" : {
   "age" : [
          [45,1.7976931348623157e+308]
        ]
    }
}

 字段說明:

cursor: 返回游標類型(BasicCursor 或 BtreeCursor)

nscanned: 被掃描的文檔數量

n: 返回的文檔數量

millis: 耗時(毫秒)

indexBounds: 所使用的索引

三、優化器profile

在MySQL 中,慢查詢日志是經常作為我們優化數據庫的依據,那在MongoDB 中是否有類似的功能呢?答案是肯定的,那就是MongoDB Database Profiler。

1.開啟profiling功能

有兩種方式可以控制 Profiling 的開關和級別,第一種是直接在啟動參數里直接進行設置。啟動MongoDB 時加上–profile=級別 即可。也可以在客戶端調用db.setProfilingLevel(級別) 命令來實時配置,Profiler 信息保存在system.profile 中。我們可以通過db.getProfilingLevel()命令來獲取當前的Profile 級別,類似如下操作:

db.setProfilingLevel(2);

上面profile 的級別可以取0,1,2 三個值,他們表示的意義如下:

0 – 不開啟

1 – 記錄慢命令 (默認為>100ms)

2 – 記錄所有命令

Profile 記錄在級別1 時會記錄慢命令,那么這個慢的定義是什么?上面我們說到其默認為100ms,當然有默認就有設置,其設置方法和級別一樣有兩種,一種是通過添加 –slowms 啟動參數配置。第二種是調用db.setProfilingLevel 時加上第二個參數:

db.setProfilingLevel( level , slowms )
db.setProfilingLevel( 1 , 10 );

2.查詢 Profiling 記錄

與MySQL 的慢查詢日志不同,MongoDB Profile 記錄是直接存在系統db 里的,記錄位置system.profile ,所以,我們只要查詢這個Collection 的記錄就可以獲取到我們的 Profile 記錄了。列出執行時間長于某一限度(5ms)的 Profile 記錄:

db.system.profile.find( { millis : { $gt : 5 } } )

MongoDB Shell 還提供了一個比較簡潔的命令show profile,可列出最近5 條執行時間超過1ms 的 Profile 記錄。 

四、常用性能優化方案

創建索引

限定返回結果數

只查詢使用到的字段

采用capped collection

采用Server Side Code Execution

使用Hint,強制使用索引

采用Profiling

五、性能監控工具

1. mongosniff

此工具可以從底層監控到底有哪些命令發送給了MongoDB 去執行,從中就可以進行分析:以root 身份執行:

$./mongosniff --source NET lo

然后其會監控位到本地以localhost 監聽默認27017 端口的MongoDB 的所有包請求。

2.Mongostat

此工具可以快速的查看某組運行中的MongoDB 實例的統計信息 字段說明:

insert: 每秒插入量

query: 每秒查詢量

update: 每秒更新量

delete: 每秒刪除量

locked: 鎖定量

qr | qw: 客戶端查詢排隊長度(讀|寫)

ar | aw: 活躍客戶端量(讀|寫)

conn: 連接數

time: 當前時間

它每秒鐘刷新一次狀態值,提供良好的可讀性,通過這些參數可以觀察到一個整體的性能情況。

3. db.serverStatus

這個命令是最常用也是最基礎的查看實例運行狀態的命令之一。

4.db.stats

db.stats 查看數據庫狀態信息。

以上所述是小編給大家介紹的MongoDB性能篇之創建索引,組合索引,唯一索引,刪除索引和explain執行計劃的相關知識,希望對大家有所幫助!

您可能感興趣的文章:
  • MongoDB索引使用詳解
  • MongoDB中唯一索引(Unique)的那些事
  • MongoDB的基礎查詢和索引操作方法總結
  • MongoDB中創建索引需要注意的事項
  • 深入理解MongoDB的復合索引
  • mongodb處理中文索引與查找字符串詳解
  • MongoDB查詢字段沒有創建索引導致的連接超時異常解案例分享
  • 關于MongoDB索引管理-索引的創建、查看、刪除操作詳解
  • MongoDB自動刪除過期數據的方法(TTL索引)
  • 關于對MongoDB索引的一些簡單理解

標簽:景德鎮 邯鄲 丹東 吉安 大理 本溪 鶴崗 昭通

巨人網絡通訊聲明:本文標題《MongoDB性能篇之創建索引,組合索引,唯一索引,刪除索引和explain執行計劃》,本文關鍵詞  MongoDB,性能,篇之,創建,索引,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MongoDB性能篇之創建索引,組合索引,唯一索引,刪除索引和explain執行計劃》相關的同類信息!
  • 本頁收集關于MongoDB性能篇之創建索引,組合索引,唯一索引,刪除索引和explain執行計劃的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    久久影院视频免费| 亚洲一区免费在线观看| 91在线观看高清| 欧美国产精品久久| 日韩一区二区三区视频在线观看| 99久久婷婷国产综合精品电影| 久久国产福利国产秒拍| 91精品国产综合久久精品麻豆| 国产成人在线看| 国内精品不卡在线| 久久午夜免费电影| 欧美性大战久久久久久久| 成人免费福利片| 懂色av一区二区在线播放| 免费av网站大全久久| 免费看欧美女人艹b| 午夜精品久久久久久久久久| 国产精品对白交换视频| 成人欧美一区二区三区白人| 国产精品久久看| 一区二区三区成人| 日韩av电影免费观看高清完整版在线观看| 中文字幕av一区二区三区免费看 | 天堂午夜影视日韩欧美一区二区| 亚洲成人精品在线观看| 一区二区视频在线| 国产精品美女久久久久久久 | 亚洲欧美日本在线| 亚洲国产成人av| 久久99久久久久久久久久久| 久88久久88久久久| 91丨porny丨首页| 91精品国产色综合久久不卡蜜臀| 欧美图片一区二区三区| 欧美一区二区黄色| 亚洲精品一二三| 麻豆国产精品一区二区三区| 一本在线高清不卡dvd| 欧美日韩亚洲综合在线| 中文字幕一区二区三区不卡在线 | 免播放器亚洲一区| 国产丶欧美丶日本不卡视频| 欧美色大人视频| 国产精品二三区| 顶级嫩模精品视频在线看| 日韩视频永久免费| 日本成人在线看| 日韩一级二级三级| 香蕉成人啪国产精品视频综合网| 波波电影院一区二区三区| 久久综合999| 天堂精品中文字幕在线| 在线欧美日韩精品| 亚洲乱码精品一二三四区日韩在线| 国内久久精品视频| 欧美国产激情一区二区三区蜜月| 一本色道久久综合亚洲精品按摩| 欧美日韩一区 二区 三区 久久精品| 精品国产3级a| 久久精品国产精品亚洲精品 | 7799精品视频| 亚洲国产一区二区三区青草影视| 在线播放中文一区| hitomi一区二区三区精品| 亚洲h在线观看| 国产欧美日韩精品a在线观看| 欧美天堂亚洲电影院在线播放| 国产伦精品一区二区三区视频青涩| 亚洲日本电影在线| 国产亚洲美州欧州综合国| 欧美午夜精品久久久久久超碰 | 狠狠久久亚洲欧美| 亚洲一线二线三线久久久| 欧美国产日韩在线观看| xnxx国产精品| 久久久天堂av| 久久久91精品国产一区二区精品| 精品久久久久久久久久久久久久久久久 | 99久久精品99国产精品| 奇米亚洲午夜久久精品| 亚洲一区在线观看网站| 欧美韩国日本一区| 日韩欧美国产精品一区| 欧美日韩成人综合| 欧美性色黄大片手机版| 99久久综合国产精品| www.成人在线| 欧美精品久久一区| 久久精品人人做| 夜夜嗨av一区二区三区| 日韩高清一区二区| www.欧美日韩国产在线| 欧美日韩一二三区| 国产亚洲va综合人人澡精品 | 天天影视网天天综合色在线播放| 国产一区欧美一区| 欧美日韩亚洲综合在线| 欧美精品一区二区三| 亚洲一区二区三区爽爽爽爽爽| 亚洲乱码国产乱码精品精小说 | 欧美天天综合网| 久久人人97超碰com| 亚洲午夜久久久久中文字幕久| 蜜臀av在线播放一区二区三区| 成人伦理片在线| 日韩欧美高清一区| 亚洲综合久久久| 成人性生交大片免费看中文 | 欧美日韩高清一区二区三区| 久久夜色精品国产欧美乱极品| 午夜精品福利在线| 色综合网色综合| 国产精品国产三级国产有无不卡| 国产在线国偷精品产拍免费yy | 偷拍日韩校园综合在线| 日本高清不卡视频| 欧美国产1区2区| 欧美成va人片在线观看| 国产精品天美传媒沈樵| 日韩不卡免费视频| 91国模大尺度私拍在线视频| 国产精品一线二线三线精华| 国产丝袜美腿一区二区三区| 九九国产精品视频| 91在线视频播放| 国产日产欧美一区| 国产视频不卡一区| 欧美一区二区视频网站| 91老师国产黑色丝袜在线| 免费一区二区视频| 色婷婷久久99综合精品jk白丝| 免费在线观看成人| 91精品国产入口| 国产成人免费9x9x人网站视频| 日本不卡视频在线观看| 日本不卡一二三区黄网| 视频一区在线播放| 欧美高清视频不卡网| 日韩三级.com| 久久人人爽爽爽人久久久| 国产亚洲午夜高清国产拍精品| 日韩三级电影网址| 国产人成一区二区三区影院| 国产精品久久久久久久久久免费看| 久久女同性恋中文字幕| 欧美精品一区二区三区蜜桃视频| 日韩精品一区二区三区在线播放| 日韩欧美在线网站| 日韩一区二区在线看| 国产成人精品一区二区三区四区 | 亚洲视频在线观看三级| 日韩影院精彩在线| 色综合天天综合色综合av| 欧美日韩国产小视频在线观看| 国产日本一区二区| 成人在线综合网站| 国产精品久久久久三级| 裸体一区二区三区| 欧美日韩另类一区| 国产日韩欧美不卡在线| 蜜臀av一区二区| 7777精品伊人久久久大香线蕉的 | 国产老妇另类xxxxx| 欧美美女喷水视频| 日韩中文字幕av电影| 亚洲欧洲中文日韩久久av乱码| 亚洲线精品一区二区三区八戒| 免费欧美在线视频| 色噜噜狠狠成人网p站| 精品无人码麻豆乱码1区2区 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 欧美成人伊人久久综合网| av午夜一区麻豆| 日韩一区二区三区四区| 亚洲国产美女搞黄色| 国产91色综合久久免费分享| 久久天天做天天爱综合色| 韩国精品主播一区二区在线观看| 777欧美精品| 精品亚洲国产成人av制服丝袜 | 亚洲欧美aⅴ...| 制服丝袜中文字幕亚洲| 国产成人综合在线播放| 午夜免费久久看| 欧美激情一区在线| 日韩美女在线视频| 国产精品白丝jk白祙喷水网站| 精品国产乱子伦一区| 在线一区二区视频| 国产成人自拍在线| 麻豆成人综合网| 日韩电影免费在线看| 欧美精品在线观看播放| xfplay精品久久| 欧美激情中文字幕| 亚洲欧美日韩小说| 蜜臀va亚洲va欧美va天堂| 国产九色sp调教91| 91精品国产综合久久精品app| 在线亚洲免费视频|