|
|
DB를 update식으로 초기화 하려고했더니 어플이 응답이 없어지면서 종료되는 현상이 일어난다..
db.beginTransaction();
try {
...
db.setTransactionSuccessful();
} finally {
db.endTransaction();
}
트랜잭션을 사용하면 데이타를 빠르게 처리할 수 있다.위 소스는 개발자사이트에서 Transaction을 검색한 결과.
자세히는 모르지만 쿼리를 날릴때마다 트랜잭션이 발생하는데 그걸 멈추었다가 모든 쿼리문을 날리고
트랜잭션을 발생시켜 쿼리를 한번에 처리하는 방식인듯 싶다..
/* delete DB */
public void deleteDB() {
mDBManager.getWritableDatabase();
mDB.beginTransaction();
try {
mDB.execSQL("DELETE FROM aaa;");
mDB.execSQL("DELETE FROM bbb;");
mDB.execSQL("DELETE FROM ccc;");
mDB.execSQL("DELETE FROM ddd;");
mDB.execSQL("DELETE FROM eee;");
mDB.execSQL("DELETE FROM fff;");
mDB.execSQL("DELETE FROM ggg;");
initializeDatabases(mDB);
mDB.setTransactionSuccessful();
} finally {
mDB.endTransaction();
}
mDBManager.close();
}
속도도 빨라졌으니 그냥 테이블을 삭제시키고 처음 DB를 만들때 insert해주는 초기화 부분을 다시불러 초기화 해주었다.응답이 없다고 종료되던 현상이 1초도 안걸리고 초기화 되었다 ~ !
|
|
'Android > Databases' 카테고리의 다른 글
| 데이터베이스 검색 (0) | 2011.07.13 |
|---|---|
| 데이터베이스 삭제 및 갱신 (2) | 2011.07.03 |
| 데이터베이스 업그레이드하기 (0) | 2011.07.03 |
| 데이터베이스 사용하기 (1) | 2011.07.02 |