草庐IT

query-performance

全部标签

performance - Mongodb - 在内存中创建或使用缓存

我将创建一个5节点的mongodb集群。它将比写入更繁重,并且有一个问题是哪种设计会带来更好的性能。这些节点将专用于mongodb。举个例子,假设每个节点都有64GB的内存。从mongodb文档中它指出:MongoDBautomaticallyusesallfreememoryonthemachineasitscache这是否意味着只要我的数据小于可用的ram,它就会像拥有内存数据库一样?我还读到可以完全在内存中实现mongodbhttp://edgystuff.tumblr.com/post/49304254688/how-to-use-mongodb-as-a-pure-in-me

performance - MongoDB 索引定义策略

我有一个基于MongoDB的数据库,里面有大约10万到50万个文本文档,而且这个集合还在不断增长。系统应支持按文档的不同字段进行查询,例如标题、类别、重要性等该系统是一个近乎实时的系统,每5-10分钟获取一次新文档。为了提高查询的性能,为文档的每个经常查询的字段(字段类型:小文本、数字、日期)定义一个单独的索引是否是个好主意?或者还有其他提高MongoDB查询性能的最佳实践? 最佳答案 您应该根据您试图查找的结果使用/制作索引。为您在不同时间尝试查找的不同字段设置不同的索引是个好主意。但请记住,索引会占用您的RAM。你做索引越多,它

performance - 缓慢的 MongoDB 查询 : can you explain why?

我有一个MongoDB查询,运行时间过长,但它:仅扫描6个对象点击索引持续花费约1500毫秒(没有分页或其他占用)mongostat中的索引miss%为0它出现在分析器中(没有explain()),我不明白为什么这么慢。有什么想法吗?gimmebar:PRIMARY>db.assets.find({owner:"123",avatar:false,private:false}).sort({date:-1}).explain(){"cursor":"BtreeCursorowner_1_avatar_1_date_-1","nscanned":6,"nscannedObjects":6

MongoDB : Advanced conditional query

我有以下文档列表:(该集合有100多个文档){name:'Tom',gender:'male'},{name:'Sandra',gender:'female'},{name:'Alex',gender:'male'}我想要的是只返回4条记录,其中2条是男性,2条是女性。到目前为止我已经试过了:db.persons.find({'gender':{$in:['male','female']},{$limit:4});这会按预期带来4条记录,但不能保证准确无误地包含2条男性和2条女性。有什么方法可以过滤文档以返回指定的列表并且不需要进行两个单独的数据库调用吗?提前致谢。

c# - MongoDB Driver Query * Filter Definition Builder * Nin $nin 不在过滤器中

有没有人使用过C#.NetMongoDBDriverFilterDefinitionBuilder'snotinfilter?这是我放在一起的一个简单示例,但我似乎无法开始工作。假设我们必须保持集合的原样。目标是仅检索不在指定ArtistGenresDocument列表中的ArtistDetailsDocument。代码将无法编译并声明“无法将lambda表达式转换为类型‘MongoDB.Driver.FieldDefinitionArtistDetailsDocument,ArtistGenresDocument’,因为它不是委托(delegate)类型”。感谢帮助!\m/\m/pu

java - 使用 Spring Data Repository 向 mongo JSON @Query 添加排序

我想使用mongoJSONquery对find的结果进行排序并且做了一些阅读和实验后,我仍然无法让它工作。我有PagingAndSortingRepository并且可以使用Sort()在findAll上没有问题。存储库类publicinterfaceThingRepositoryextendsPagingAndSortingRepository{@org.springframework.data.mongodb.repository.Query("{name:?0,$or:[{state:'new'},{state:'updated'}]}")ListfindThingsInNewO

HTTP参数类型中的Query和Body参数

在接口中常见到query参数和body参数,那么它对应的传参方式是?★query查询参数 --->params--->route.params.参数★body请求体参数---> data---> route.query.参数总结:GET请求只能传Query参数,POST请求可以传Query和Body两种形式的参数HTTP参数类型:请求头参数(head)、路径参数(path)、查询参数(query)、请求体参数(body)。http协议传参类型,根据参数所在协议位置可分为以上四大类。Query查询参数,将参数拼在请求地址上。--->params传参参数以键值对的形式标识(URL以?key=val

performance - MongoDB 按 ID 慢查询

我最近将我的MongoDB数据库从WindowsServer迁移到了CentOS。版本是2.4.9。我注意到我通过_id字段检索记录的速度很慢!我在周末运行了一个修复数据库,但没有解决问题。我有这种通过ID检索记录的方法(使用IN运算符)(使用springdatamongodb1.4.1.RELEASE):@OverridepublicMapfindAsMapIds(finalString[]ids,finalComponentType...comps){if(null==ids||0==ids.length){returnnull;}Mapresult=newHashMap();fi

node.js - Mongoose : query on a field on an array of ref documents,

这个问题在这里已经有了答案:QueryingafterpopulateinMongoose(6个答案)关闭7年前。这是我的模型:varLocationSchema=newSchema({events:[{type:mongoose.Schema.Types.ObjectId,ref:'Event'}]})varEventSchema=newSchema({title:String,location:{type:mongoose.Schema.Types.ObjectId,ref:'Location'}})我想从Location模型中查询Event模型中的一个字段。下面这个不行findO

performance - 如何使用 mongostats 诊断 mongodb 内部的性能问题

我一直在使用mongostats来诊断我的mongodb实例中的整体事件。我如何使用它来诊断性能问题/降级?我真正有兴趣深入了解的一个字段是锁定百分比和基于所有其他字段结果的预期行为。我觉得这个功能有点含糊,需要进一步完善。 最佳答案 锁定的%是全局写锁(记住,mongo有一个进程范围的写锁)在每个样本中被占用的时间百分比。当您增加写入次数(插入、更新、删除、db.eval()等)时,该百分比会增加。高值意味着数据库花费大量时间被锁定以等待写入完成,结果是在释放锁之前无法完成任何查询。因此,整体查询吞吐量将减少(有时会显着减少)。“