mongoDB's Optimization example

简介:

mongoDB简单优化示例:
1. 设计合理的数据结构,应用架构以及业务逻辑.
2. 合理使用索引
    如,当需要返回的记录数比扫描的记录数少得多时,结合collection的读写场景,考虑是否使用索引。
3. 限制输出结果
    当需要返回的结果集非常大时,如无必要,考虑使用limit限制输出.
4. 仅仅选择需要输出的列
    返回结果应该只包含需要返回的列,而不是所有列.这样的话可以减少返回的字节数,节约带宽.
5. $inc使用
    当更新的记录中存在需要增加或减少的字段时,考虑使用$inc,效率比去除记录,更新记录再插回去会高很多.
> db.test.insert({"a":1})
> db.test.update({"a" : 1},{"$inc" : {"a" : 1}})
> db.test.find()
{ "_id" : ObjectId("4d297bfff59946c5070b2504"), "a" : 2 }
> db.test.update({"a" : 2},{"$inc" : {"a" : -1}})
> db.test.find()  
{ "_id" : ObjectId("4d297bfff59946c5070b2504"), "a" : 1 }

6. capped collection合理使用
读写效率都还可以,并且严格$natural.

7. 服务端代码合理使用
使用服务端代码可以减少网络消耗(类似传统数据库的函数和存储过程),提高效率.

使用profile分析:
mongoDB的profile是分析数据库热点,优化数据库的非常好用的功能

优化count()
count()和offset()都是数据库杀手,建索引是很有必要的(尽量减少scan)。

explain()和hint()
对于profile得到的执行代码,使用explain分析,必要时可以使用hint()强制索引或全表扫描.
目录
相关文章
|
机器学习/深度学习 人工智能
48小时封镜!这是一部完全由AI制作的科幻电影
在伦敦科幻电影节的“48小时电影挑战”,导演Oscar Sharp和AI研究员Ross Goodwin带来一部全部制作过程由AI导演的实验性影片《Zone Out》。影片采用“换脸”技术,使用神经网络生成的对话和配音等,整个制作过程都由被称为Benjamin的AI进行处理。
2710 0
|
12月前
|
Go 数据安全/隐私保护
Golang 里的 AES、DES、3DES 加解密,支持 ECB、CBC 等多种模式组合
Openssl encryption 是 OpenSSL 库的功能包装,支持对称加密算法(AES、DES、3DES)的 ECB 和 CBC 模式。提供简便的 Go 语言接口,用于加密和解密操作。安装命令:`go get -u github.com/forgoer/openssl`。示例代码展示了 AES-ECB、AES-CBC 等模式的使用方法,支持 PKCS7 填充。
334 92
|
iOS开发 MacOS Windows
Mac air使用Boot Camp安装win10 ,拷贝 Windows 文件时出错
Mac air使用Boot Camp安装win10 ,拷贝 Windows 文件时出错
|
存储 前端开发 UED
React 标签页组件 Tab
标签页(Tab)组件是现代Web应用中常见的UI元素,用于在有限空间内展示多个内容面板。本文介绍如何在React中实现功能完善的标签页组件,涵盖基本概念、状态管理、常见问题及解决方案。通过`useState`管理选中标签,使用CSS确保布局一致性和过渡效果,并解决性能和逻辑错误。高级功能如懒加载和持久化选择状态进一步提升用户体验。
357 16
|
11月前
|
安全 Linux 测试技术
OS 升级迭代与向前向后兼容问题
本次分享的主题是OS 升级迭代与向前向后兼容问题,由中科方德内核研发工程师李力琼分享。主要分为四个部分: 1. OS更新的兼容性问题 2. 内核API向后兼容 3. 内核API向前兼容 4. 内核API的修改
358 2
【网路原理】——HTTP状态码和Postman使用
状态码(200,404,403,405,500,504,302),Postman下载和使用构造请求
|
负载均衡 算法 Go
GoLang协程Goroutiney原理与GMP模型详解
【11月更文挑战第4天】Goroutine 是 Go 语言中的轻量级线程,由 Go 运行时管理,创建和销毁开销小,适合高并发场景。其调度采用非抢占式和协作式多任务处理结合的方式。GMP 模型包括 G(Goroutine)、M(系统线程)和 P(逻辑处理器),通过工作窃取算法实现负载均衡,确保高效利用系统资源。
313 3
|
缓存
服务器的丢包率高怎么办
服务器的丢包率高怎么办
721 0
|
计算机视觉
ps2023软件全新版免费调色滤镜插件exposure图片后期处理工具
许多朋友都习惯于用手机拍照,但拍出来的效果却没有别人拍出来的好看,不知道如何解决。这种情况下你只需一个适合自己的照片处理工具,就可以提升原照片的美观度。那么,有哪些好用的照片处理工具,如何用照片处理工具处理照片,下面就有我来为各位进行讲解,希望能够给大家一些帮助。
771 1
ps2023软件全新版免费调色滤镜插件exposure图片后期处理工具