2017-09-30 3 views
0

J'ai déjà lu que insertOrUpdate est plus rapide que copyToRealm.Domaine InsertOrUpdate par défaut avec executeTransactionAsync

  • Je veux confirmer que c'est toujours vrai avec le dernier?
  • Y at-il une mise à jour sur une méthode d'insertion en masse?

Les exemples des documents utilisent executeTransactionAsync sans insert ou copier à la fin, à savoir les champs simplement fixés sur l'objet dans la méthode d'exécution. J'ai confirmé que ça fonctionne.

Est-ce la meilleure pratique? Je peux seulement deviner qu'ajouter bgRealm.insertOrUpdate sera inutilement lent ... non?

Merci et continuez votre excellent travail

Répondre

0

insertOrUpdate() est pour insérer lot de non gérés articles, sans construire des relations entre eux (comme vous ne recevez pas le proxy arrière, évite donc instanciation d'objet proxy - super utile lors de l'insertion de 3000 éléments ou plus, que vous téléchargez à partir d'une API externe). Ce est la "méthode d'insertion en vrac".

copyToRealmOrUpdate() est d'insérer un lot d'éléments non gérés, mais vous recevez également le proxy géré de sorte que vous pouvez l'ajouter à RealmList<T> d'un autre objet géré.

createObject() crée un proxy géré, après quoi la mise en l'un de ses champs reflètera dans le DB sans avoir à appeler insert()/copyToRealm().