8

greenDAOでデータモデルを構築しています。CoreDataを使用するiOSアプリの移植版です。iOSでは、インデックス(インデックス?)を使用して、5列が頻繁にクエリされる20列(プロパティ)のテーブルでのルックアップパフォーマンスを向上させます。これによりストレージが追加され、テーブルへの書き込みが遅くなることを私は知っています。

ドキュメントを掘り下げてみると、 EntityのaddIndex(Index index)メソッドと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);

それとも、両方とも同じことをしますか?

4

1 に答える 1

18

単一のプロパティインデックスにはmyProperty.index()を使用します(最も便利なため)。

複数列のインデックスなど、より複雑なインデックスの場合は、addIndex(index)を使用します。

Index index = new Index();
index.addProperty(property1);
index.addProperty(property2);
entity.addIndex(index);
于 2013-03-04T18:18:33.883 に答える