MongoDB庖丁解牛(索引)

  • A+
所属分类:MongoDB 数据库

索引的优点

1、大大的减少了服务器需要扫描的数据量

2、索引可以帮助服务器减少排序或使用临时表

3、索引可以将随机I/0转换顺序I/0

索引:三星

一星:索引如果能将相关的记录放置在一起

二星:索引中数据的存储顺序与查找标准中顺序一致

三星:如果索引中包含查询中所需要的全部数据(覆盖索引)

索引类型

顺序索引

散列索引

评估索引的标准:

访问类型

访问时长

插入时长

删除时长

开销时间

顺序索引

聚集索引:如果某记录文件中的记录顺序是按照对应的搜索码指定的顺序排序:聚集索引也成为主索引。

非聚集索引:搜索码中的指定的次序与记录文件中的记录次序不一致。

有聚集索引的数据文件,也叫做索引顺序文件

根据索引中是否为每个记录相应的创建索引项;稠密索引和稀疏索引

创建索引

> db.testcoll.ensureIndex({Name: 1})
{
"createdCollectionAutomatically" : false,
"numIndexesBefore" : 1,
"numIndexesAfter" : 2,
"ok" : 1
}

查看索引

> db.testcoll.getIndexes()
[
{
"v" : 1,
"key" : {
"_id" : 1
},
"name" : "_id_",
"ns" : "liu.testcoll"
},
{
"v" : 1,
"key" : {
"Name" : 1
},
"name" : "Name_1",
"ns" : "liu.testcoll"
}
]

删除索引

> db.testcoll.dropIndex({Name: 1})
{ "nIndexesWas" : 2, "ok" : 1 }
>

删除collection上所有的索引

> db.testcoll.dropIndexes()

YaLei

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: