【发布时间】:2012-06-14 14:12:04
【问题描述】:
我正在设计我的应用程序数据模型,但我有一个疑问,是使用父索引还是简单索引。
Site{
@Id Long id;
}
Booking{
@Id Long id;
@Index/Parent Key<Site> site;
@Index Date date;
}
我的 2 个实体是 Bookings 和 Sites。关系是 Site 有许多 Booking。 我想通过 2 种方式检索预订:getBookingBySiteAndDate(关键站点,日期日期)和 getBookingsByDate(日期日期)
如果我使用 Parent,则第二次*第二次查询* 效率不高,因为我需要 Booking 的网站来检索所有预订。此站点可能已被删除。
如果我使用 Index,第一个查询 效率不高,因为我需要(日期、站点)中的自定义索引并且成本很高。 Appart 的创作不一致,因为预订没有实体组,我有 1w/s 的限制。
你有什么建议?
【问题讨论】:
-
是什么让自定义索引变得昂贵?他们非常有效率。
-
对您创建的每个自定义索引执行额外的数据存储写入,这就是产生新成本的地方。
标签: java google-app-engine google-cloud-datastore objectify