|
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 |