• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • mongodb索引

    第三章 索引操作及性能測試


    索引在大數據下的重要性就不多說了 

    下面測試中用到了mongodb的一個客戶端工具Robomongo,大家可以在網上選擇下載。官網下載地址:http://www.robomongo.org/

    插入 測試數據

    首先插入100萬條測試數據

    復制代碼
    for(var i=1;i<1000000;i++){ 
    var person={
    Name:"jack"+i,
    Age:i,
    Address:["henan","wuhan"],
    Course:[
    {Name:"shuxue",Score:i},
    {Name:"wuli",Score:i}
    ]
    }
    db.DemoTest.Person.insert(person) 
    }
    復制代碼

     

    性能分析函數(explain)

    mongodb中給我們提供了一個關鍵字叫做“explain"做性能分析。

    執行查詢分析如下:

    db.DemoTest.Person.find({Name:"jack5784124"}).explain()


    從上圖我們可以看出在沒有建立索引的情況下,查詢的時間大約是是615毫秒。


    創建索引

    db.TestCollection.Person.ensureIndex({Name:1})

    -----1代表索引按照字母升序排列

    查詢如圖:

    從圖上我們可以看出,查詢時間變成了大約2毫秒,性能提高了幾百倍。

     

    唯一索引

    和sqlserver一樣都可以建立唯一索引,重復的鍵值自然就不能插入,在mongodb中的使用方法是:

    db.TestCollection.Person.ensureIndex({Name:1},{"unique":true})

     

    組合索引

    有時候我們的查詢不是單條件的,可能是多條件,那么我們可以建立組合索引來加速查詢。

    db.TestCollection.Person.ensureIndex({Name:1,Age:1})

     

    刪除索引

     

    db.TestCollection.Person.dropIndex("索引名稱")

    版權聲明:本文為weixin_34023982原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/weixin_34023982/article/details/93278674

    智能推薦

    MongoDB備份、索引、復制

    1. 數據備份與恢復 2. 索引 索引通常能夠極大的提高查詢的效率,如果沒有索引MongoDB在讀取數據時必須掃描集合中的每個文件并選取那些符合查詢條件的記錄 這種掃描全集合的查詢效率是非常的,特別在處理大量的數據時,查詢可以要花費幾十秒甚至幾分鐘,這對網站的性能是非常致命的 ensureIndex() 接收可選參數,可選參數列表如下: 3. MongoDB復制 3.1 主從復制 3.2 副本集 ...

    mongodb--索引(筆記)

    介紹 Index 合適的索引可以大大提高數據庫搜索能力 對文檔的部分內容進行排序的數據結構 加快文檔查詢和文檔排序的速度 類型:單鍵索引、復合鍵索引、多鍵索引 特性:唯一性、稀疏性、生存時間 創建索引 db.collections.createIndex() 數組中的每一個元素都會在多鍵索引中創建一個鍵 創建唯一性索引   稀疏性:復合鍵索引也可以具有稀疏性。如果文檔中沒有完全...

    MongoDB復合索引詳解

    摘要: 對于MongoDB的多鍵查詢,創建復合索引可以有效提高性能。 ### 什么是復合索引? 復合索引,即**Compound Index**,指的是將多個鍵組合到一起創建索引,這樣可以加速匹配多個鍵的查詢。不妨通過一個簡單的示例理解復合索引。 students集合如下: 在name和age兩個鍵分別創建了索引(_id自帶索引): 當進行多鍵查詢時,可以通過[explian()](https:/...

    mongoDB-特殊索引

    全文檢索 什么是?     使用正則表達式模糊檢索文本內容,對于大段文本來說,效率很低,而且無法理解語義     這個時候可以使用全文檢索,可以快速進行文本檢索,且內置多種語言分詞機制,可理解語義, MongoDB提供文本索引來支持全文檢索,文本索引可以建立在任何字符串格式的鍵上,甚至可 以建立在以字符為元素的數組上 問題:   &nbs...

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    猜你喜歡

    freemarker + ItextRender 根據模板生成PDF文件

    1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...

    電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!

    Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...

    requests實現全自動PPT模板

    http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...

    Linux C系統編程-線程互斥鎖(四)

    互斥鎖 互斥鎖也是屬于線程之間處理同步互斥方式,有上鎖/解鎖兩種狀態。 互斥鎖函數接口 1)初始化互斥鎖 pthread_mutex_init() man 3 pthread_mutex_init (找不到的情況下首先 sudo apt-get install glibc-doc sudo apt-get install manpages-posix-dev) 動態初始化 int pthread_...

    精品国产乱码久久久久久蜜桃不卡