在设置我的模型/实体时,我真的想打破我的 RDBMS 思维定势。我非常注重性能,所以我想把这件事做好。我需要建模三个不同的东西:
事件 - 发生在某个日期,有邀请人参加,有与之关联的帖子
Person - 有一个字符串 id,有一个名字
发布 - 一个人将为事件发布帖子。我需要保持发布帖子的人与发布帖子的事件之间的关联。
我的第一个想法是去类似的东西
class Event
@PrimaryKey
Long id;
List<Key> personList;
List<Key> postList;
String name;
class Post
@PrimaryKey
Key id;
String details;
Key personWhoPosted;
class Person
@PrimaryKey
Key id;
String fbId;
String name;
应用程序的主要查询加载与给定人员关联的所有事件。
我已经完全实现了这种方法,但是一旦数据库开始填充来自我的 beta 测试人员的适量数据,加载主列表的操作就会变慢,因为发生了如此多的 QUERY 和 GET。对于每个事件,我都必须为帖子进行另一组查询/获取。对于每个帖子,我必须为与之关联的人进行一系列其他查询/获取,依此类推。
我将此视频用作主要参考: http ://www.youtube.com/watch?v=AgaL6NGpkB8&list=WLB3249928DA0FA4AF&feature=mh_lolz
建立这些关系的最佳方式是什么?我正在考虑将所有内容展平到 Event 中,以最大限度地减少对一个查询和一组并行获取的初始负载。