Android 领域更新异步速度慢

Android 领域更新异步速度慢,android,realm,Android,Realm,我正在异步事务中更新我的对象(一个包含40-50个字段的对象,但我只更新了5-6个字段) 为什么,事务的commit(我指的是从execute中的最后一行到onSuccess()调用的时间)大约需要5秒 我只更新一个对象和一些字段。我做错了什么 这是我的密码 realm.executeTransactionAsync(new Realm.Transaction() { @Override public void execute(Re

我正在异步事务中更新我的对象(一个包含40-50个字段的对象,但我只更新了5-6个字段)

为什么,事务的
commit
(我指的是从execute中的最后一行到
onSuccess()
调用的时间)大约需要5秒

我只更新一个对象和一些字段。我做错了什么

这是我的密码

        realm.executeTransactionAsync(new Realm.Transaction() {
            @Override
            public void execute(Realm realm) {
                Intervention i = realm.where(Intervention.class).equalTo("ID", openedIntervention.getInterventionID()).findFirst();
                if (i != null) {
                    i.setULTIMA_LETTURA_VECCHIO_MISURATORE(etOldMeterReading.getText() == null ? null : etOldMeterReading.getText().toString());
                    i.setLAST_UPDATE(Calendar.getInstance().getTime());
                    i.setMISURATORE_INSTALLATO_ID(etOldMeter.getTag() == null ? null : etOldMeter.getTag().toString());
                    if (etOldMeter.getTag() == null || etOldMeter.getTag().toString().isEmpty() || etOldMeter.getTag().toString().equals(RuntimeHelper.emptyUUIDString)) {
                        i.setMISURATORE_INSTALLATO(null);
                    }
                }
            }
        }, new Realm.Transaction.OnSuccess() {
            @Override
            public void onSuccess() {
                Log.d(TAG, "Fine save");
                if (alsoLoad)
                    loadData();

            }
        }, new Realm.Transaction.OnError() {
            @Override
            public void onError(@NonNull Throwable error) {
                Log.d("TAG", "MSG", error);
                Toast.makeText(getActivity(), "Errore durante il salvataggio", Toast.LENGTH_SHORT).show();
            }
        });
这应该是一个非常简单的查询,但我不明白阻塞操作是从哪里来的


感谢单个对象的所有

50个字段?也许您应该重新考虑您的模式,并创建一些1:1关系的子对象,这些子对象只包含这6个字段。感谢您的回复,但使用每个仅包含6个字段的db对象并不是一个好的解决方案。。SQL db表可能有数百个字段,这不是问题。。我的应用程序正在使用SQL表,我已经只筛选了我需要的表。。相信我,50个不是很多,也不是问题:)“sql可以做到这一点,sql可以做到那一点”领域不是sql事实上,我认为问题在于
loadData()
,而不是异步写入——同样,异步写入是在循环中完成的吗?o_o@Pawel在使用NoSQL DB时,拥有50个字段比拥有1:1的关系要好,尤其是领域。1:1关系意味着您现在需要管理级联删除