Mongo DB扩展问题(索引是否会影响“不同”的性能)?

| 我正在使用Mongo来逐日存储一组约40个权益的所有“滴答”。这些价格变动包含交易信息(包含价格和数量的文档)和帐簿信息(包含买卖建议的更复杂的文档)。数量级约为5,000笔交易+ 20K图书*每天40笔权益。每个符号(插入名称)(插入日期),一天中的时间都对文档建立索引。收集一周后,我的查询中的一个不再扩展:寻找不同的日期需要很长时间。因此,我决定准备一份特殊文件,只是说某天会有一个“集合”,这是正确的方法吗?此外,将事物收集为单独的小文件是正确的,还是将刻度线收集为权益文件上的数组会更好? 谢谢大家! 顺便说一句,这个问题是这个问题的结果:使用mongodb来存储日内净值数据 加成: 即使我明确地说了(在控制台上)
db.books.ensureIndex({dateTag:1})
db.books.distinct(\"dateTag\")
它回复缓慢。因此,也许更好的问题是:索引是否会影响ѭ1的效果? 加成 升级到1.8.2后,行为是相同的。     
已邀请:
  索引会影响效果吗? 确实可以,但是没有“解释计划”,因此只能通过docs /代码进行确认。   每个符号(资产名称)的插入日期,时间均对文件编制索引 我不确定您拥有多少索引或此处拥有哪种类型的内存占用100%不清楚。仅拥有索引并不一定意味着它会非常快。如果该索引不在内存中,那么您最终将进入磁盘并降低查询速度。 如果您发现尽管有索引,但此查询的性能下降,我将检查两件事: 磁盘活动(查询期间) 相对于内存的数据大小 但是,保留“存储的天数”列表可能会更容易。即使使用索引,这种独特的查询也可能会变得更糟。因此,它永远不会像仅仅列出日期的文档那样快。     
我认为您的“一天收集”方法不会奏效,因为您会遇到MongoDb每个数据库24,000个名称空间的限制。将滴答声存储在文档的数组属性中可能会使执行某些类型的查询更加困难(这实际上取决于您需要在滴答声上运行哪种类型的报告)。 您确定对有问题的查询中使用的属性有适当的索引吗?作为最后的选择,您可以尝试分片,但是我怀疑这是必要的。     
http://www.mongodb.org/display/DOCS/Aggregation#Aggregation-Distinct 明确指出distinct()可以使用从MongoDB 1.7.3开始的索引     

要回复问题请先登录注册