当前位置: 首页 > news >正文

打击地上黑庄做网站河南专业网络推广公司

打击地上黑庄做网站,河南专业网络推广公司,常州做的网站的公司网站,ps做网站需注意一、Mongodb的索引操作 1. 为什么mongdb需要创建索引 加快查询速度进行数据的去重 2. mongodb创建简单的索引方法 语法:db.集合名.ensureIndex({属性:1}),1表示升序, -1表示降序 3. 创建索引前后查询速度对比 测试:插入10万条…

一、Mongodb的索引操作

1. 为什么mongdb需要创建索引

  • 加快查询速度
  • 进行数据的去重

2. mongodb创建简单的索引方法

  • 语法:db.集合名.ensureIndex({属性:1}),1表示升序, -1表示降序

3. 创建索引前后查询速度对比

测试:插入10万条数据到数据库中

  • 插入数据:
for(i=0;i<100000;i++){db.t1.insert({name:'test'+i,age:i})}
  • 创建索引前:
    db.t1.find({name:'test10000'})
    在这里插入图片描述
  • db.t1.find({name:'test10000'}).explain('executionStats') # 显示查询操作的详细信息
"executionStats": {"executionSuccess": true,"nReturned": NumberInt("1"),"executionTimeMillis": NumberInt("58"),"totalKeysExamined": NumberInt("0"),"totalDocsExamined": NumberInt("100000"),"executionStages": {"stage": "COLLSCAN","filter": {"name": {"$eq": "test10000"}}}
}
  • 创建索引:db.t1.ensureIndex({name:1})
    在这里插入图片描述
  • 创建索引后:db.t1.find({name:'test10000'}).explain('executionStats')
"executionStats": {"executionSuccess": true,"nReturned": NumberInt("1"),"executionTimeMillis": NumberInt("2"),"totalKeysExamined": NumberInt("0"),"totalDocsExamined": NumberInt("100000"),"executionStages": {"stage": "COLLSCAN","filter": {"name": {"$eq": "test10000"}}}
}
  • 前后速度对比
    在这里插入图片描述

4. 索引的查看

  • 默认情况下_id是集合的索引
  • 查看方式:db.集合名.getIndexes()
    在这里插入图片描述

5. 删除索引

  • 语法:db.集合名.dropIndex({'索引名称':1})
  • db.t1.dropIndex({name:1})
    在这里插入图片描述
  • db.t1.dropIndex("name_1")
    在这里插入图片描述
  • db.t1.getIndexes()
    在这里插入图片描述

6. mongodb创建唯一索引

在默认情况下mongdb的索引域的值是可以相同的,创建唯一索引之后,数据库会在插入数据的时候检查创建索引域的值是否存在,如果存在则不会插入该条数据,但是创建索引仅仅能够提高查询速度,同时降低数据库的插入速度。

(1)添加唯一索引的语法:

db.集合名.ensureIndex({"字段名":1}, {"unique":true})

(2)利用唯一索引进行数据去重

根据唯一索引指定的字段的值,如果相同,则无法插入数据

  • db.t1.ensureIndex({name:1}, {"unique":true})
    在这里插入图片描述
  • db.t1.getIndexes()
    在这里插入图片描述
  • db.t1.insert({name: 'test10000'})
    在这里插入图片描述

7. 建立复合索引

  • 在进行数据去重的时候,可能用一个域来保证数据的唯一性,这个时候可以考虑建立复合索引来实现。
  • 例如:抓全贴吧信息,如果把帖子的名字作为唯一索引对数据进行去重是不可取的,因为可能有很多帖子名字相同
  • 建立复合索引的语法:db.collection_name.ensureIndex({字段1:1,字段2:1})

8. 建立索引注意点

  • 根据需要选择是否需要建立唯一索引
  • 索引字段是升序还是降序在单个索引的情况下不影响查询效率,但是带复合索引的条件下会有影响
  • 数据量巨大并且数据库的读出操作非常频繁的时候才需要创建索引,如果写入操作非常频繁,创建索引会影响写入速度

例如:在进行查询的时候如果字段1需要升序的方式排序输出,字段2需要降序的方式排序输出,那么此时复合索引的建立需要把字段1设置为1,字段2设置为-1

http://www.lbrq.cn/news/2574001.html

相关文章:

  • wordpress做大站好吗网店代运营的套路
  • wordpress赚钱网站百度人工智能开放平台
  • 承德网站推广电话营销外包公司
  • 北京房山建设委员会网站首页google学术搜索
  • 一灯wordpress主题安卓优化大师2023
  • 网页做网站的尺寸新媒体运营岗位职责
  • 给人做网站赚钱吗疫情最新消息
  • 海南网站制作市场调研报告模板范文
  • vs2010可以做动态网站吗推广关键词排名查询
  • 中兴路由器做网站windows优化大师可以卸载吗
  • 德阳手机网站建设刷赞网站推广空间免费
  • 2017做那个网站能致富线下推广都有什么方式
  • 网站做彩票页面设计
  • 北京冬奥会火炬设计制作东莞seo推广公司
  • 互联网建站网站建设的方法有哪些
  • 成都公司做网站的源码网
  • wordpress官网密码怀化网站seo
  • 做网站需要会写代码吗域名注册商怎么查
  • 平面设计可以做网站?网站源码交易平台
  • 房产网站设计方案产品推广找哪家公司
  • 网站建设助手 西部数码北京seo人员
  • 网站制作优质公司外贸订单怎样去寻找
  • PHP+Ajax网站开发典型实例百度快照是什么意思
  • 顺德医疗网站建设重庆关键词优化平台
  • 网站优化及推广广州专做优化的科技公司
  • 地名公共服务网站建设最新网络营销方式有哪些
  • 山东网站seo公司哪个网站百度收录快
  • 深圳市公司网站建设价格全国疫情最新情报
  • 网站开发专业术语做网页用什么软件好
  • 网站的空间域名磁力云搜索引擎入口
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-56,(知识点:电源模块,DCDC电源,LDO电源,原理及其特点)
  • webrtv弱网-QualityScalerResource 源码分析及算法原理
  • 什么是列存储(Columnar Storage)?深度解析其原理与应用场景
  • 【领域热点】【Vue】Vue 与 WebAssembly:前端性能优化的黄金搭档
  • 隧道安全监测哪种方式好?精选方案与自动化监测来对比!
  • 脚手架搭建React项目