【发布时间】:2013-09-28 08:47:36
【问题描述】:
我刚开始使用 Datastore 和 Objectify(完全是新手),我正在为我的实体建模之前寻求一些建议。
我正在开发某种股票交易应用程序,用户可以通过定义股票 ID、目标价格和条件(低于或高于目标价格)来跟踪股票。
应用程序从外部网站获取股票并将它们保存在一个数组中。然后它需要检查哪些 StockTracking 与数组中保存的那些股票价格相匹配。
StockTracking 具有以下结构: StockCode、TargetPrice、Condition(更低或更高)
我想做的是这样的:
for (Stock in stockArray) {
SELECT * FROM StockTracking WHERE StockCode = stock.code AND
((Condition = 'Lower' AND TargetPrice <= Stock.price) OR
(Condition = 'Higher' AND TargetPrice >= Stock.price))
}
我需要一些帮助来确定应该如何以及创建哪些索引才能进行这样的查询。此外,虽然股票的数量是固定的并且不是那么大(低于 50 只),但我想知道是否有办法以更优化的方式(即更短的查询时间)来执行此功能。
提前致谢
【问题讨论】:
-
澄清一下,如果执行“JOIN”比这种方法更有效,我愿意将 Stock 存储在数据存储区中
-
Objectify 有各种注释,例如 @Index,您可以使用这些注释来索引特定字段。明智地使用索引,因为这将对数据存储区进行更多的读写操作。 Objectify 库中还有 Query 类,可以帮助您过滤此类字段。
-
谢谢@AnkurJain 对于绝对初学者有什么好的教程吗?我对官方文档很迷茫。
-
请查看我下面的答案,它几乎包含了 objectify 中的所有基本查询。
标签: google-app-engine google-cloud-datastore objectify