对于任何一个数据库, 不管是SQL型还是NOSQL型,为了提高查询效率, 都需要对索引有一定了解 ,对于mongoDB ,也是可以利用索引去优化查询,实际上,mongoDB中索引和mysql等索引很多地方都是共通的
1. mongoDB中的索引
-
使用索引的优势
不用索引,查询的时候会进行”全表扫描“ , 倘若1000万条数据,会扫描整个1000万数据,从中筛选,速度可想而知 。
索引可以根据给定的字段组织数据,快速查找目标文档 -
关系型数据库中查看SQL执行效率
查看一个sql的执行效率,可以用explain() 函数查看, 对于mongoDB来说,也可以用此函数,比如 : 查询一个用户名的sql具体执行过程> db.people.find({ name:{ "$eq":'zhangsan'}}).explain() { "queryPlanner" : { "plannerVersion" : 1, "namespace" : "demo.people", "indexFilterSet" : false, "parsedQuery" : { "name" : { "$eq" : "zhangsan" } }, "winningPlan" : { "stage" : "COLLSCAN", "filter" : { "name" : { "$eq" : "zhangsan" } }, "direction" : "forward" }, "rejectedPlans" : [ ] }, "serverInfo" : { "host" : "localhost", "port" :