MongoDB

简介: 索引

索引通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须扫描集合中的每个文件并选取那些符合查询条件的记录。
这种扫描全集合的查询效率是非常低的,特别在处理大量的数据时,查询可以要花费几十秒甚至几分钟,这对网站的性能是非常致命的。
索引是特殊的数据结构,索引存储在一个易于遍历读取的数据集合中,索引是对数据库表中一列或多列的值进行排序的一种结构
语法:

db.col.createIndex(keys#要创建的索引字段, options#1为升序/-1为降序)
实例
db.col.createIndex({"title":1})
也可以设置使用多个字段创建索引(关系型数据库中称作复合索引)。
db.col.createIndex({"title":1,"description":-1})
createIndex() 接收可选参数,可选参数列表如下:
ParameterTypeDescriptionbackgroundBoolean建索引过程会阻塞其它数据库操作,background可指定以后台方式创建索引,即增加 "background" 可选参数。 "background" 默认值为falseuniqueBoolean建立的索引是否唯一。指定为true创建唯一索引。默认值为falsenamestring索引的名称。如果未指定,MongoDB的通过连接索引的字段名和排序顺序生成一个索引名称。dropDupsBoolean3.0+版本已废弃。在建立唯一索引时是否删除重复记录,指定 true 创建唯一索引。默认值为falsesparseBoolean对文档中不存在的字段数据不启用索引;这个参数需要特别注意,如果设置为true的话,在索引字段中不会查询出不包含对应字段的文档.。默认值为falseexpireAfterSecondsinteger指定一个以秒为单位的数值,完成 TTL设定,设定集合的生存时间。vindex version索引的版本号。默认的索引版本取决于mongod创建索引时运行的版本。weightsdocument索引权重值,数值在 1 到 99,999 之间,表示该索引相对于其他索引字段的得分权重。default_languagestring对于文本索引,该参数决定了停用词及词干和词器的规则的列表。 默认为英语language_overridestring对于文本索引,该参数指定了包含在文档中的字段名,语言覆盖默认的language,默认值为 language.
实例
在后台创建索引:
db.col.createIndex({open: 1, close: 1}, {background: true})
通过在创建索引时加 background:true 的选项,让创建工作在后台执行
相关文章
|
1月前
|
数据采集 人工智能 缓存
2025年,告别手动数据爬取,Coze AI Agent助你全程无忧!
本文介绍如何利用Coze AI Agent构建智能数据采集方案,实现从网站抓取到数据清洗、存储的全流程自动化。通过可视化工作流设计,该方案可将人工日均处理量从不足百条提升至无限制自动采集,大幅提升数据工作效率。
|
1月前
|
弹性计算 开发者
阿里云服务器优惠政策解读:个人开发者、学生及初创企业最新租赁解读
阿里云2025年最新优惠:新用户38元/年享2核2G轻量服务器;老用户99元/年用ECS;学生领300元代金券免费获取;企业199元/年购2核4G云服务器。配置灵活,续费同价,助力个人开发者、学生及初创企业低成本上云。
396 8
|
2月前
|
机器学习/深度学习 人工智能 开发框架
智能体来了:零基础学习智能体,从入门到就业的系统路径
智能体来了,国内专注AI智能体教育与落地的品牌,为零基础者、转型者及企业提供系统化学习方案。涵盖认知入门、实操训练到项目实战,八大核心模块助力就业。赋能个人掌握AI技能,助力企业降本增效,推动智能体技术产业化应用。(238字)
262 1
|
2月前
|
人工智能 自然语言处理 算法
想让企业信息进 AI 答案?先搞懂 GEO 是啥!
GEO(生成引擎优化)是让内容被AI直接引用的新策略,通过权威引用、数据支撑、多平台分发等方法,提升品牌在AI回答中的曝光,与SEO互补,助力抢占AI搜索流量先机。
|
7月前
|
Web App开发 人工智能 监控
搬运5款非常有特色的实用软件
本文分享了5款免费实用软件,提升工作生活效率。Q-Dir为四窗格文件管理器,支持多面板操作;Glass2k实现窗口透明化与置顶;3171.cn提供全能在线工具箱,涵盖视频、图片、文本处理等;gifcam专注屏幕GIF录制与编辑;Groupy实现窗口标签化管理,便捷切换程序组。快来探索这些高效工具吧!
180 1
|
6月前
|
数据采集 自然语言处理 搜索推荐
Python内置函数ord()详解
`ord()` 是 Python 中用于将单个字符转换为对应 Unicode 码点的核心函数,支持 ASCII、多语言字符及特殊符号。其返回值为整数(范围 0-1114111),适用于字符编码验证、数据清洗、自定义排序、基础加解密等场景。使用时需注意参数长度必须为 1,否则会触发 `TypeError`。结合 `chr()` 函数可实现双向转换,进阶技巧包括多字节字符处理、编码范围检测及字符分类验证等。
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
AI赋能教育评价改革:生成式人工智能(GAI)认证的角色与影响
本文探讨了人工智能(AI)技术在教育评价改革中的作用及生成式人工智能(GAI)认证的影响。随着数字化时代的到来,AI为教育评价提供了新工具与手段,能够优化评价过程、提升质量并促进个性化发展。GAI认证不仅提升了教育工作者的技能与竞争力,还推动了教育评价的标准化与规范化。文章强调需加强AI技术应用研究、推广GAI认证,并注重评价的个性化与差异化,以助力学生全面发展。AI赋能教育评价改革是未来趋势,将为教育事业注入更多智慧与力量。
|
9月前
|
关系型数据库 测试技术 分布式数据库
刷新世界纪录!阿里云PolarDB凭借创新的「三层解耦」架构刷新TPC-C基准测试世界纪录
刷新世界纪录!阿里云PolarDB凭借创新的「三层解耦」架构刷新TPC-C基准测试世界纪录
|
机器学习/深度学习 人工智能 NoSQL
数据库与人工智能的关系
随着AI技术的飞速发展,数据库与人工智能的联系日益紧密。数据成为AI的关键部分,预计到2023年全球数据量将达到33ZB。AI通过机器学习和神经网络等方式处理数据,优化企业运营,预测模式并创造机会。数据库利用AI进行复杂数据分析,如机器学习识别销售趋势,深度学习处理和分类客户数据。悦数图数据库作为高性能图数据库,为AI提供实时、准确的数据支持,尤其在金融风控、实时推荐和知识图谱等领域展现出强大效能,推动AI在各行业的应用和发展。