文档数据库服务 DDS-创建和管理索引:创建索引
创建索引
- DDS使用如下命令创建索引:
db.collection.createIndex(keys, options)
- key 值为你要创建的索引字段,1 为指定按升序创建索引,-1代表降序创建索引。
- options接收可选参数,常用可选参数列表如下:
Parameter
Type
Description
background
Boolean
默认值为false。
建索引过程会阻塞其它数据库操作,background可指定以后台方式创建索引。
unique
Boolean
默认值为false。
建立的索引是否唯一。指定为true创建唯一索引。
name
string
索引的名称。如果未指定,MongoDB的通过连接索引的字段名和排序顺序生成一个索引名称。
expireAfterSeconds
integer
指定一个以秒为单位的数值,完成 TTL设定,设定集合的生存时间。
- 创建索引。
- 单字段索引(Single Field Index)
db.user.createIndex({"name": 1})
上述语句针对name创建了单字段索引,其能加速对name字段的各种查询请求,是最常见的索引形式,DDS默认创建的id索引也是这种类型,{"name": 1} 代表升序索引,也可以通过{"name": -1}来指定降序索引,对于单字段索引,升序/降序效果是一样的。
- 复合索引(Compound Index)
复合索引是单子索引的升级版本,它针对多个字段联合创建索引,先按第一个字段排序,第一个字段相同的文档按第二个字段排序,依次类推。
db.user.createIndex({"name": 1, "age": 1} )
- 多键索引
- 当索引的字段为数组时,创建出的索引称为多键索引。
- 多键索引会为数组的每个元素建立一条索引。
如果为user集合加入一个habit字段(数组)用于描述兴趣爱好,需要查询有相同兴趣爱好的人就可以利用habit字段的多键索引。
{“name” : “jack”, “age” : 19, habit: [“football, runnning”]} //这是person表的一条用户信息。
db.user.createIndex( {"habit": 1} ) //自动创建多key索引
db.user.find( {"habit": "football"} ) //查询有相同兴趣爱好的人
- 单字段索引(Single Field Index)
- 查看集合索引。
db.user.getIndexes()
- 删除集合所有索引。
db.user.dropIndexes()
- 删除集合指定索引。如下方式删除user集合中"name"索引。
db.user.dropIndex({"name": 1})
- GaussDB索引_GaussDB数据库索引_高斯数据库索引_华为云
- GaussDB索引_华为数据库GaussDB_高斯数据库索引_华为云
- 文档数据库服务DDS性能调优_MongoDB性能调优_华为云
- 云数据库Gaussdb数据库索引_华为gaussdb__gaussdb 数据库
- 免费云数据库MongoDB_DDS文档数据库数据库免费_文档数据库是免费的吗
- Gauss(DWS)数据加解密_数据加解密算法_数据加解密函数
- GaussDB(DWS)常用SQL_常用SQL命令_SQL语法
- GaussDB数据库SQL语法_SQL语法_CREATE_ALTER
- 文档数据库_云数据库_数据库免费吗_游戏数据库解决方案
- 文档数据库服务DDS在各行业的典型应用