关于1-1关系的数据核 - mongodb性能问题

时间:2015-02-27 12:51:09

标签: java performance mongodb datanucleus jdoql

同样,我创建此主题以查看某人是否有相同的问题,或者有人知道如何提高性能。 我先解释一下这个场景: 我有一个名为Product的JDO实体。在该产品中,我有另一个实体的字段,一个简单的实例(示例类型:长id,字符串名称,字符串值)和1个日期。 我创建了产品的10000个对象但是当我尝试使用日期查询产品时性能良好但是如果我添加type.id == 12那么性能从100ms下降到30秒...如果我没有一个Type对象在Product上放了一个long typeId,那么相同的查询也很快......我担心的是可伸缩性,我应该扁平化结构并使用那些没有真正连接但需要额外应用程序的id检索或有没有办法提高Product.Type上的查询性能? 非常感谢你提前。

我已经尝试过定义fetchGroups,但它们并没有真正起作用......

我想要做的实际上是通过产品上的ID进行某种映射,但我无法使用嵌入式注释...

所以,让我解释一下:我有一个名为Reading的课程(一个Date timeStamp和一个Product p)。这是在做一个查询。如果过滤器是这样的:

String filter = "timeStamp > fromDate && timeStamp < toDate";

如果我这样做,查询将在100毫秒内执行

String filter = "timeStamp > fromDate && timeStamp < toDate && prod.id == '941'"
例如,它需要30秒......我已经看过日志,如果没有产品查询,他只从缓存中读取,如果我添加了Product的子句,他似乎会获取所有对象和开始比较我想象的价值......我真的不知道该怎么做,也许我应该断开所有这些类并开始像阅读类一样使用String productID然后一切都开始变得快......但是实际上,连接不存在,它将在应用层实现...再次感谢...任何建议?

生成的查询是这样的: SELECT FROM core.jdo.model.Readings WHERE timeStamp&gt; fromDate&amp;&amp; timeStamp&lt; toDate&amp;&amp; EAN.EAN ==&#39; 002&#39; PARAMETERS java.util.Date fromDate,java.util.Date toDate import java.util.Date

0 个答案:

没有答案