2017-06-27 3 views
-1

SQLから50.000のデータを取得しようとしていますが、15分以上かかります。増加performaceし、データの50Kを取得する方法を、5分未満SQLから数千のデータを取得する方法


/** 
* saves current Item in database 
* @param db database instance 
*/ 

public void save(SQLiteDatabase db) { 
     if(db.update(TABLE_NAME, getContentValues(), COL_CODE + "=?", new String[]{code})==0){ 
      db.insert(TABLE_NAME, COL_BARCODE, getContentValues()); 
     } 
} 
+0

Iを使用するための提案すでに行った.. – Eli

+0

ITEM_THRESHOLD = 1000(バッチサイズ) – Eli

+0

[Android用の領域](https://news.realm.io/news/realm-for-android/)です もっと早く。 –

答えて

-3

while ((items = api.ws_getItems(ITEM_THRESHOLD, lastId, lastDate)).size() > 0) 
     { 
      db.beginTransactionNonExclusive(); 
      for (Item i : items) 
      { 
       i.save(db); 
       ++curr; 
       saving(msg, curr, numOfItems,mContext,mProgress); 
      } 
      db.setTransactionSuccessful(); 
      db.endTransaction(); 
      lastId = items.get(items.size() - 1).getId(); 
      lastDate =items.get(items.size()-1).getLastSync(); 

      if (items.size() < ITEM_THRESHOLD) 
       break; 
     } 
私はレルムデータベース その高速、簡単に、より多くの機能

https://realm.io/products/realm-mobile-database/

+0

私のコードをレルムに変換する方法を説明できますか? – Eli

関連する問題