내 기능 중 일부는 모든 행의 값을 업데이트해야합니다 (사용자가 특정 설정을 선택할 때 드물게 발생 함).SQLite 업데이트 쿼리 최적화
문제는 쿼리가 수행하는 데 몇 분이 걸리는데 기껏해야 269 개의 테스트 레코드 만 있다는 것입니다. 이것이 최적화 될 수있는 방법이 있습니까?
String allRecords = "SELECT id, weight FROM Workout_Entry";
Cursor cursor = db.rawQuery(allRecords, null);
int rows = cursor.getCount();
int id;
double weight;
try
{
if (cursor.moveToFirst())
{
do
{
for (int i = 0; i < rows; i++)
{
id = cursor.getInt(0);
weight = cursor.getInt(1)/2.2;
String strFilter = "id = " + id;
ContentValues args = new ContentValues();
args.put("weight", weight);
db.update("Workout_Entry", args, strFilter, null);
}
} while (cursor.moveToNext());
}
} finally
{
cursor.close();
}
(db).close();
고마워요!
사실 나는 이것이 특정 문제에 대한보다 정확한 해결책이라고 동의합니다. +1 –