在 MongoDB 上,<mark>索引能夠提高讀操作及查詢性能</mark>。沒有索引,MongoDB 必須掃描集合中的每一個文檔,然后選擇與查詢條件匹配的文檔,這種全表掃描的方式是非常低效的。MongoDB 索引的數據結構也是 B+樹,它能存儲一小部分集合的數據,具體來說就是存儲集合中建有索引的一個或多個字段的值,而且按照值的升序或降序排列。對于一個查詢說,<ins>如果存在合適的索引,MongoDB 能夠利用這個索引減少文檔的掃描數量</ins>。
* MongoDB默認為所有集合都創建了一個`_id`字段的單字段索引,而且這個索引是唯一的,不能被刪除。
<br/>
MongoDB 3.0.0 版本之后,使用 `createIndex()` 方法來創建索引,在 3.0.0 版本前使用 `ensureIndex()`方法來創建索引,之后的版本`ensureIndex()` 還 能用 , 但只是`createIndex()` 的別名。
<br/>
語法:
```sql
db.collection.createIndex(keys, options)
Keys 將某個字段作為索引,1 為升序創建索引,-1為降序索引
options 可選項
```
```sql
> db.col.createIndex({"title":1})
# 復合索引
> db.col.createIndex({"title":1,"description":-1})
```
- MySQL
- MySQL是什么
- MySQL環境搭建
- centos7-MySQL8
- windows-MySQL8
- 數據庫軟件
- sqlyog軟件安裝
- navicat軟件安裝
- powerDesigner軟件安裝
- RDBMS術語
- SQL語句組成
- 數據庫系統組成
- 數據庫操作
- 數據表操作
- 查詢語句
- 基本語法
- 子查詢
- 表連接
- 查詢語句執行順序
- 事務
- 事務是什么
- 事務的作用
- 事務的4個特性
- 事務隔離級別
- 事務的實現
- 索引
- 索引的作用
- 索引操作
- 存儲引擎
- 備份與恢復
- 視圖
- 視圖是什么
- 視圖的作用
- 創建視圖
- 查看視圖
- 更改視圖
- DML操作視圖
- 刪除視圖
- 存儲過程與函數
- 過程與函數是什么
- 存儲過程操作
- 定義存儲過程
- 調用存儲過程
- 查看存儲過程
- 刪除存儲過程
- 修改存儲過程
- 函數操作
- 過程與函數區別
- 流程控制
- if語句
- case語句
- while循環語句
- repeat循環語句
- loop循環語句
- 變量
- 處理程序
- 光標
- Redis
- 簡介
- 下載與安裝
- 命令操作redis數據庫
- 通用命令
- 數據操作
- 持久化
- Windows上的持久化操作
- 數據庫設計
- 數據庫設計過程
- ER模型圖
- MongoDB
- MongoDB是什么?
- MongoDB特性
- MongoDB 數據模型
- 安裝MongoDB
- MongoDB認證
- Database操作
- Collection操作
- Document操作
- 插入
- 查詢
- 更新
- 刪除
- buckWrite
- MongoDB索引
- 副本集
- 聚焦分析
- 事務管理
- 寫關注
- 讀關注