안드로이드 개발 질문/답변
(글 수 45,052)
데이터를 넣는데 너무 느려서 Transaction 사용하고 싶습니다.
대략 100 ~ 150개 정도의 데이터가 있는데요.
이 데이터를 사용할때는 1~5개 정도를 업데이트해서 사용하니 속도에는 별로 지장이 없습니다.
그런데, 데이터 초기화(삭제 후 insert나 update로 초기화)할때 속도가 너무 느리네요..
검색을 여기저기 해보니 트랜잭션을 사용하면 한번에 쿼리를 날릴 수 있다고 하는것 같습니다.
개발자 사이트를 보니..
db.beginTransaction();
try {
...
db.setTransactionSuccessful();
} finally {
db.endTransaction();
}
... 이 부분에 쿼리를 넣는것 같은데요..
일반적인 방법으로 사용하는것 같지는 않고 쿼리를 어떤 방법으로 넣는것인지 궁금합니다..
자답입니다..
mDBManager.getWritableDatabase();
mDB.beginTransaction();
try {
mDB.execSQL("DELETE FROM lastgame;");
mDB.setTransactionSuccessful();
} finally {
mDB.endTransaction();
}
mDBManager.close();
자세히는 모르겠지만 쿼리를 중간에 삽입해주면 되는군요..
처리하는 데이타는 위 소스보다는 더 많구요. 트랜잭션을 사용하지 않을경우는 데이타를 삭제하다가 응답이 없어 어플이 종료되는 현상이 있었는데, 트랜잭션을 사용하니 1초도 안걸려서 해결해버리네요.