MongoDB 關於索引操作命令執行個體詳解

來源:互聯網
上載者:User

索引是提高查詢查詢效率最有效手段。索引是一種特殊的資料結構,索引以易於遍曆的形式儲存了資料的部分內容(如:一個特定的欄位或一組欄位值),索引會按一定規則對儲存值進行排序,而且索引的儲存位置在記憶體中,所在從索引中檢索資料會非常快。如果沒有索引,MongoDB必須掃描集合中的每一個文檔,這種掃描的效率非常低,尤其是在資料量較大時。

1.查看索引:
db.COLLECTION_NAME.getIndexes()

[    {        "v" : 1,        "key" : {            "_id" : 1        },        "name" : "_id_",        "ns" : "mars.COLLECTION_NAME"    }]

2.建立索引:
數字 1 表示按索引升序儲存,-1 表示按索引降序方式儲存
1).建立單索引
db.COLLECTION_NAME.ensureIndex({name:1})

[    {        "v" : 1,        "key" : {            "_id" : 1        },        "name" : "_id_",        "ns" : "mars.COLLECTION_NAME"    },    {        "v" : 1,        "key" : {            "name" : 1        },        "name" : "name_1",        "ns" : "mars.COLLECTION_NAME"    }]

2).建立複合索引
db.COLLECTION_NAME.ensureIndex({name:1,age:1})

[    {        "v" : 1,        "key" : {            "_id" : 1        },        "name" : "_id_",        "ns" : "mars.COLLECTION_NAME"    },    {        "v" : 1,        "key" : {            "name" : 1        },        "name" : "name_1",        "ns" : "mars.COLLECTION_NAME"    },    {        "v" : 1,        "key" : {            "name" : 1,            "age" : 1        },        "name" : "name_1_age_1",        "ns" : "mars.COLLECTION_NAME"    }]

3).建立唯一索引:
db.COLLECTION_NAME.ensureIndex({name:1,age:1},{unique:true})

[    {        "v" : 1,        "key" : {            "_id" : 1        },        "name" : "_id_",        "ns" : "mars.COLLECTION_NAME"    },    {        "v" : 1,        "unique" : true,        "key" : {            "name" : 1,            "age" : 1        },        "name" : "name_1_age_1",        "ns" : "mars.COLLECTION_NAME"    }]

3.刪除索引:
1).根據索引的 name 欄位名稱刪除,比如如上顯示刪除第二個索引
db.COLLECTION_NAME.dropIndex("name_1_age_1_unique_true")
2).根據建立時指定的索引的 key 刪除,比如如上顯示刪除第二個索引
db.COLLECTION_NAME.dropIndex({name:1,age:1})
3).刪除所有索引
db.COLLECTION_NAME.dropIndexes()

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.