`
z2009zxiaolong
  • 浏览: 77118 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

MongoDB查询优化原则

阅读更多

1.在查询条件、排序条件、统计条件的字段上选择创建索引,可以显著提高查询效率。

2.用$or时把匹配最 多 结果的条件放在最前面,用$and时把匹配最 少 结果的条件放在最前面。

3.使用limit()限定返回结果集的大小,减少数据库服务器的资源消耗,以及网络传输的数据量。

4.尽量少用$in,而是分解成一个一个的单一查询。尤其是在分片上,$in会让你的查询去每一个分片上查一次,如果实在要用的话,先在每个分片上建索引。

5.尽量不用模糊匹配查询,用其它精确匹配查询代替,比如$in、$nin。

6.查询量大、并发大的情况,通过前端加缓存解决。

7.能不用安全模式的操作就不用安全模式,这样客户端没必要等待数据库返回查询结果以及处理异常,快了一个数量级。

8.MongoDB的智能查询优化,判断粒度为query条件,而skip和limit都不在其判断之中,当分页查询最后几页时,先用order反向排序。

9.尽量减少跨分片查询,balance均衡次数少。

10.只查询要使用的字段,而不查询所有字段。

11.更新字段的值时,使用$inc比update效率高。

12.apped collections比普通collections的读写效率高。

13.server-side processing类似于SQL查询的存储过程,可以减少网络通讯的开销。

14.必要时使用hint()强制使用某个索引查询。

15.如果有自己的主键列,则使用自己的主键列作为id,这样可以节约空间,也不需要创建额外的所以。

16.使用explain,根据exlpain plan进行优化。

17.范围查询的时候尽量用$in、$nin代替。

18.查看数据库查询日志,具体分析的效率低的操作。

19.mongodb有一个数据库优化工具database profiler,能够检测数据库操作的性能。可以发现query或者write操作中执行效率低的,从而针对这些操作进行优化。

20.尽量把更多的操作放在客户端,当然这就是mongodb设计的理念之一。

1
3
分享到:
评论

相关推荐

    MongoDB查询性能优化验证及验证

    本篇文章将深入探讨MongoDB查询性能优化验证的相关知识,包括查询优化原则和实际测试案例。 首先,理解MongoDB查询优化的基本原则至关重要。这包括: 1. **索引优化**:合理创建和使用索引能够显著提高查询速度。...

    MongoDB性能优化

    在MongoDB中,查询操作的优化对于提升系统整体性能至关重要。以下是一些关键的技术点: ##### 1. 创建索引 - **定义**:索引是在数据库表的一个或多个列上创建的数据结构,用于快速定位数据。在查询条件的字段上...

    MongoDB应用设计模式:MongoDB Applied Design Patterns

    通过阅读《MongoDB应用设计模式:MongoDB Applied Design Patterns》,开发者可以深入了解MongoDB的设计原则、最佳实践以及在实际项目中的应用,从而更好地利用这一强大的数据库系统。书中的案例和经验分享将帮助...

    MongoDB Performance Best Practices

    本书主要针对MongoDB 3.4版本的性能优化问题,给出了原则性的总结,并于2017年6月发布。它涵盖了实现MongoDB系统高性能的关键维度,包括硬件、应用模式、模式设计与索引、磁盘I/O以及基准测试的设计。本书内容全面,...

    mongodb3.0.1源码

    MongoDB的查询优化器负责选择执行查询的最佳路径。源码中包含了一个基于成本的查询优化器,它评估不同的查询计划并选择最有效的。优化器的工作涉及到索引使用、扫描操作和投影等。 4. 索引系统 MongoDB支持多种类型...

    Mongodb视频-燕十八 mongodb视频教程全集21讲+mongodb高级实战开发视频教程

    与传统的关系型数据库不同,MongoDB通过灵活的数据模型和高效的查询语言,为大规模数据存储和处理提供了强大的支持。 ### 燕十八MongoDB视频教程全集21讲知识点概览 #### 第一部分:MongoDB基础篇 **第1讲:...

    MongoDB_参考手册

    6. **数据存储与索引**:深入探讨了MongoDB的数据存储机制及索引优化策略,提高查询效率。 7. **锁定机制**:讲解了MongoDB的锁定原理,帮助理解并避免数据并发访问时的冲突。 8. **概念与术语**:对MongoDB的核心...

    [奥莱理] MongoDB Applied Design Patterns

    2. **数据建模**:MongoDB的设计与传统关系型数据库有所不同,书中深入探讨了如何进行非关系型数据建模,包括分片、引用和嵌入式数据模型的设计原则,帮助开发者理解如何根据业务需求选择合适的数据结构。...

    浅析Mongodb性能优化的相关问题

    本文将深入探讨 MongoDB 性能优化的三个主要方面:范式化与反范式化、填充因子的使用以及索引的使用。 首先,我们来讨论范式化与反范式化。范式化是一种传统的关系型数据库设计原则,旨在减少数据冗余和提高数据...

    SqlServer数据导入MongoDB

    7. 性能优化:MongoDB支持索引,迁移后根据查询需求创建合适的索引,以提升查询性能。 8. 集成测试:在生产环境部署前,进行充分的集成测试,确保所有业务逻辑正常运行。 总之,从SQL Server到MongoDB的数据导入...

    MongoDB 4.0.4

    首先,MongoDB 4.0系列引入了混合交易(Hybrid Transactions),这是一项基于ACID(原子性、一致性、隔离性和持久性)原则的重要更新。这种新的事务处理能力使得MongoDB能够处理复杂的业务逻辑,提供跨文档的一致性...

    mongoDB in action

    - **查询语言**:MongoDB提供了一种类似于SQL的查询语言,支持复杂的查询表达式。 - **聚合管道**:通过一系列的聚合阶段来处理数据流,包括过滤、排序、分组等操作。 - **索引优化**:合理使用索引来提高查询效率,...

    MongoDB in Action

    5. **性能优化**: 提供了一系列优化MongoDB性能的方法和技巧。 #### 五、实践案例 **此外,本书还提供了大量的实践案例,帮助读者更好地理解和掌握MongoDB的应用场景:** 1. **Web应用**: 展示了如何在现代Web...

    MongoDB.in.Action.2nd.Edition.2016.3.pdf

    - **缓存策略**:介绍MongoDB的缓存机制以及如何优化读写性能。 - **监控与故障排查**:教授常用的监控工具和技术,帮助开发者及时发现并解决问题。 - **第三部分:进阶主题** - **安全性** - **认证机制**:...

    MongoDB-manual

    - **性能优化**:提供了一些建议来优化索引以提高查询性能。 #### 索引参考 - **命令语法**:列出了所有与索引相关的命令及其语法格式。 - **错误处理**:提供了解决索引操作过程中可能出现的问题和错误的方法。 ...

    MongoDB官方文档

    索引是数据库查询优化的关键,MongoDB中的索引操作也不例外。索引概念部分会讲解索引的基本知识和索引的工作原理。索引教程部分则向用户展示如何创建和管理索引以提高查询性能。索引参考部分则详细描述了索引相关的...

    基于 mongodb 可上传各种格式文件,主要是针对图片,Excel ,word 等文件进行上传。可单独部署。

    此外,考虑到文件上传可能会占用大量存储空间,MongoDB 的存储优化也是关键。可能需要定期清理不再使用的旧文件,或者使用生命周期管理策略来自动删除过期的文件。另外,通过设置合适的缓存策略,可以提高读取性能,...

Global site tag (gtag.js) - Google Analytics