`

8: Preallocate space, whenever possible

阅读更多

原文如下:

 

This is closely related to both “Tip #6: Do not embed fields that have unbound

growth” on page 7 and “Tip #7: Pre-populate anything you can” on page 8. This is an

optimization for once you know that your documents usually grow to a certain size,

but they start out at a smaller size. When you initially insert the document, add a

garbage field that contains a string the size that the document will (eventually) be, then

immediately unset that field:

    > collection.insert({"_id" : 123, /* other fields */, "garbage" : someLongString})

    > collection.update({"_id" : 123}, {"$unset" : {"garbage" : 1}})

This way, MongoDB will initially place the document somewhere that gives it enough

room to grow (Figure 1-3).



看下unset的定义

类似占位符之类的,可能mongoDB对于unset后的字段空间不会删除,只是做一下标记,这样这部分空间已经预先分出来了,这个空间就可以被重用
分享到:
评论

相关推荐

    mina-whenever

    gem 'mina-whenever' 然后执行: $ bundle 或将其自己安装为: $ gem install mina-whenever 用法 在deploy.rb require 'mina/whenever' task deploy: :environment do deploy do ... on :launch do invoke...

    elastic_whenever:管理ECS计划任务,例如“每时每刻”

    gem 'elastic_whenever' 然后执行: $ bundle 或将其自己安装为: $ gem install elastic_whenever 用法 您几乎可以像everyever一样使用它。 但是,请注意,您必须指定一个标识符。 $ elastic_whenever --...

    glm-master.zip

    GLM emulates GLSL's approach to vector/matrix operations whenever possible. To use GLM, include glm/glm.hpp. Example from GLM manual: #include int foo() { glm::vec4 Position = glm::vec4( glm::vec3...

    嵌入式SQL默认分类

    因此,嵌入式SQL提供了一种默认分类的错误处理机制——WHENEVER语句。 WHENEVER语句是预编译阶段的指示器,它告诉预编译器在执行每条SQL语句后自动插入特定的错误处理代码。WHENEVER语句可以处理三种异常情况: 1....

    GA.zip_GA_forthnfm_java_whenever2ir

    标题中的"GA.zip_GA_forthnfm_java_whenever2ir"表明这是一个关于遗传算法(GA)的应用,可能涉及到Forth、自然语言处理(NLP)、Java编程语言以及Whenever2IR(可能是一种特定的代码转换工具或框架)。描述中提到...

    stakecom_toynh_whenever5oo_zip_elmo_

    标题“stakecom_toynh_whenever5oo_zip_elmo_”似乎是一个组合字符串,它可能代表一个项目或软件的特定版本。在这个上下文中,“stakecom”可能是指一个名为“Stake”的平台或工具,“toynh”可能是开发者、团队代号...

    STemWin5.44.zip

    enabling Graphical User Interfaces (GUI) building up with any STM32, any LCD and any LCD controller, taking benefit from STM32 hardware accelerations, whenever possible. STemWin Library is a full ...

    北师大高中英语必修二unit复习PPT教案学习.pptx

    - 引导词的使用:如"Whenever"、"whenever"引导的时间状语从句。 5. **写作技巧**: - 词汇多样性:鼓励学生使用高级词汇,如"optimistic"代替"positive","affected"代替"effected"。 - 句子结构:通过例子展示...

    C++ const用法及注意事项

    effective c++ 条款03讲到:Use const whenever possible 由此可见const 限定符对于c++的重要性。下面尽可能全面的总结const 的用法和技巧。主要资料来源于c++ primer,标题后的页码为c++ primer 中文版(第四版)的...

    LimitOS:物联网设备的Websocket控制

    LimitOS IoT设备的Websocket控制: : 。 客户端激活说明 要将LimitOS与Raspberry Pi一起使用,请参阅的激活文档... bundle exec whenever --update-crontab limitos --set environment=production --roles=app,web,db

    2019_2020学年高中英语Unit4BodyLanguageperiod3LearningaboutLanguage课时规范

    5. 引导状语从句的连词:如 "Whenever he was asked why he was late for class" 中的 "whenever" 引导时间状语从句。 6. 系动词与形容词搭配:"feeling energetic and ready to start a new day" 中的 "feeling" ...

    clucene源码

    1. Whenever possible the caller must create the object that is being filled. For example: IndexReader->getDocument(id, document); As opposed to the old method of document = IndexReader->getDocument(id...

    广东省广州市执信、广雅、三校高三英语上学期8月联考试题.doc

    3. **语境理解**:例如"whenever I watch TV, I’ll turn it down and never make any noise."中的"whenever"引导的时间状语从句,表示在任何情况下,考生需要理解上下文以选择正确答案。 4. **虚拟语气**:如"Had ...

    whenever和wherever引导的两种状语从句.doc

    在英语语法中,whenever和wherever是两个非常重要的连词,它们可以引导不同的从句,包括名词性从句和让步状语从句。让我们深入了解一下这两个词在不同语境下的用法。 1. **whichever引导的从句** - **名词性从句**...

    Designing and Developing Maintainable Products and Systems MIL-HDBK-470A.pdf

    Unlike previous handbooks which focused only on maintainability, this document provides ... Whenever possible, references are given in the text to documents having more detailed information on a topic

    Http essential

    ... ...它作为客户端/服务器架构的基础,在浏览器与服务器之间进行通信时扮演着至关重要的角色。... ...常见的状态码有200(成功)、404(未找到)和500(服务器内部错误)等。...- **头部信息**:请求和响应中都包含了头部信息,...

    whenever.js:对JavaScript的重新解释,每当esolang

    每当.js 适应和实施到JavaScript。 关于 与原始实现的最大区别在于,everyth.js使用函数声明而不是语句,并通过其名称字符串而不是语句号来引用它们。 这样,我们可以快速访问宿主Javascript的所有功能,包括声明...

    有效软件测试的50条建议

    Automate regression tests whenever possible Avoid sole reliance on capture/playback Conduct performance testing with production-sized databases Tailor usability tests to the intended audience ...

    figmark:在React代码中导入Figma设计

    whenever只要要在本地更新设计,请运行此命令。 您还会注意到*.pc文件是从中编译React文件的。 要了解有关如何使用PC文件的更多信息,可以检出存储库。 就是这样! 此时,您应该已经生成了可以导入的React文件。 ...

    whenever:Node.js模块的require()延迟

    var whenever = require('whenever'); var modules = whenever('foo', __dirname); console.log(modules); // {} -> not loaded yet. modules.foo.hello(); // requires and then prints 'Hello world'; 您还可以...

Global site tag (gtag.js) - Google Analytics