在greenDao中添加索引列的正确方法?

时间:2013-02-28 22:36:02

标签: android orm greendao

我正在greenDAO中构建数据模型。它是使用Core Data的iOS应用程序的端口。在iOS中,我们使用索引(索引?)来提高20列(属性)表中的查找性能,其中经常查询5列。我知道这会导致额外的存储空间,并且会在表中提供更慢的写入速度

在文档中,我遇到了Entity中的addIndex(索引索引)方法和Property.PropertyBuilder中的index()方法。向实体添加索引的正确方法是什么?

Entity entity = schema.addEntity("entity");
entity.setSuperclass("SuperClass");
entity.addIdProperty();
entity.addIntProperty("property").index();

Entity entity = schema.addEntity("entity");
entity.setSuperclass("SuperClass");
entity.addIdProperty();
Property property = entity.addIntProperty("property").getProperty();
entity.setIndex(property);

或者他们都做同样的事情?

1 个答案:

答案 0 :(得分:18)

对单个属性索引使用 myProperty.index()(因为它最方便)。

对于更复杂的索引,例如多列索引,请使用addIndex(index):

Index index = new Index();
index.addProperty(property1);
index.addProperty(property2);
entity.addIndex(index);