MongoDB索引初識

2021-07-31 04:20:51 字數 1433 閱讀 9613

第一部分

插入測試資料

#時間稍長

for(

vari = 

0; i

200000

; i++)); }

驗證結果

db.numbers.find

().count

() 200000

第二部分

索引前奏

2.1 

monogo

關鍵字explain()

explain()

可以檢視我們執行命令的內部實現,那麼我們先看一下,再沒有加索引之前,查詢一條資料所需要的時間/

掃瞄等字段

沒有對比就沒有傷害

沒有傷害哪來的動力

首先我們查閱官網中對

explain()的介紹

,在此它有個引數--verbose[冗長],往下看,發現

verbose

中又有三個可選引數

1. queryplanner: 預設model, 也就是執行的計畫; 

2. executionstats: 列印執行的狀態; 

3. allplan***ecution: 列印所有的執行的狀態.

返回的結果又有哪些呢?真是乙個問題接著乙個問題

繼續往下走,摘錄一段英文

output  cursor.explain() operations can 

return

information regarding:  

1.queryplanner, which details

theplan selected 

bythe

query optimizer 

andlists 

therejected plans; 

2.executionstats, which details

theexecution 

ofthe

winning plan 

andthe

rejected plans; 

and3.

serverinfo, which provides information

onthe

mongodb instance.

也就是最多返回三個大的字段,

1. queryplanner: 查詢優化器選擇的計畫細節,列出了拒絕計畫; 

2. executionstats: 成功的執行計畫細節和拒絕計畫; 

3. serverinfo: 提供了mongodb例項的資訊。

mongo官網explain返回說明

有了之上的

explain()

的主要的使用說明, 那麼就可以繼續往下繼續了.

初識mongodb 索引

預設情況下,mongodb的查詢是遍歷集合中的所有文件,找到與條件匹配的資料。如果集合中包含的文件比較多,查詢時間就會比較長。建立索引的話,系統會額外建立乙個根據索引排序,幷包含原來資料位置資訊的一組資料,當再次根據已建立索引檢索時,系統會先去索引找到位置資訊,然後根據位置資訊取出對應資料,從而避免...

Mongodb系列 初識Mongodb

一 背景 月初進行了期末考試非常榮幸可以參加到了考試系統維護中 詳情請閱讀 那些年我們一起參加的活動 15年上半年考試系統維護總結 主要負責server維護,在維護期間對mongodb相逢。mongodb什麼東東?假設有點暈的童鞋請猛戳me科普一下哈。正是因為這些優勢使得考試系統選擇用它來存放英語聽...

mongoDB 索引使用

一 索引基礎 mongodb的索引幾乎與傳統的關係型資料庫一模一樣,這其中也包括一些基本的優化技巧。下面是建立索引的命令 db.test.ensureindex 可以通過下面的名稱檢視索引是否已經成功建立 db.test.getindexes 刪除索引的命令是 db.test.dropindex 在...