Realm Java最快" BULK"写方法论

时间:2015-10-27 02:16:53

标签: android realm

我有以下代码片段模仿sqlite批量插入超过4000个事务,我想知道什么应该是默认的最快和替代最佳方法来执行块写入Realm内存或持久到Realm文件没有任何昂贵的开销加载?

我也不确定是否在持久化Realm文件表中创建主键

obj =是来自内存领域的阻止信息,如代码片段所示。

 Realm  realm = Realm.getInstance(this);
realm.beginTransaction();
 realm.copyToRealmOrUpdate(obj);  
realm.commitTransaction();
只需一个简单的调用,

会自动处理新记录的创建吗?

从测试开始,

使用RealmObject启动  StkTBL stkTBL =新StkTBL()  &安培; CopyToRealm

似乎比创建对象稍快一些  StkTBL stkTBL = realm.createObject(StkTBL.class);

在此示例中,StkTBl是没有​​任何主键的领域数据模型,在块写入内存中的Realm之前从CSV文件中提取源信息

    BufferedReader reader;

      TempConfig = new RealmConfiguration.Builder(this)
                                .name("myTemprealm.realm")
                                .inMemory()
                                .build();

 Realm TempRealm = Realm.getInstance(TempConfig);
 TempRealm.beginTransaction();
 while ((txtline = reader.readLine()) != null) {
 //skip code on extracting the relevant info from csv files
 //StkTBL stkTBL = realm.createObject(StkTBL.class);
 StkTBL stkTBL=new StkTBL();
 stkTBL.setSDate(IDate());
 stkTBL.setSOpen(open);
 stkTBL.setSHigh(high);
 stkTBL.setSLow(low);
 stkTBL.setSClose(close);
 stkTBL.setSVol(volume);
 stkTBL.setStk_symbol(mSymbol);                                
 StkTBL obj=TempRealm.copyToRealm(stkTBL);
     }
   TempRealm.commitTransaction();
   TempRealm.close();

0 个答案:

没有答案