OROiteite createOrUpdate wydaje się powolne - jaka jest normalna prędkość?
Dzwoniąc na ORMLiteRuntimeExceptionDao
jestcreateOrUpdate(...)
metoda w mojej aplikacji jest bardzo powolna.
Mam bardzo prosty obiekt (Item
) z 2 intami (jeden togeneratedId
), aString
i adouble
. Sprawdzam czas potrzebny (w przybliżeniu) na aktualizację obiektu w bazie danych (100 razy) za pomocą poniższego kodu. Dzienniki wyciągu dziennika:
czas na aktualizację 1 wiersza 100 razy: 3069
Dlaczego aktualizacja obiektu 100 razy trwa 3 sekundy, w tabeli zawierającej tylko 1 wiersz. Czy to normalna prędkość ORMLite? Jeśli nie, jaki może być problem?
RuntimeExceptionDao<Item, Integer> dao =
DatabaseManager.getInstance().getHelper().getReadingStateDao();
Item item = new Item();
long start = System.currentTimeMillis();
for (int i = 0; i < 100; i++) {
item.setViewMode(i);
dao.createOrUpdate(item);
}
long update = System.currentTimeMillis();
Log.v(TAG, "time to update 1 row 100 times: " + (update - start));
Jeśli utworzę 100 nowych wierszy, prędkość będzie jeszcze mniejsza.
Uwaga: już używamormlite_config.txt
. Loguje się"Loaded configuration for class ...Item"
więc to nie jest problem.
Dzięki.