sqlite 데이터 베 이 스 는 빅 데 이 터 를 삽입 할 때 사무 처 리 를 사용 하면 삽입 시간 이 1 만 개의 데 이 터 를 3 초 동안 삽입 하 는 것 을 크게 줄 일 수 있 습 니 다.

1992 단어 sqlite
1   삽입 할 데이터 정의  서버 에서 가 져 온 json 문자열
 
//str3        json     
			 if (str3 != null) {
				 //  SQlite    ,       
			 db = dbhelper.getWritableDatabase();
			 //      。               
			 db.beginTransaction();
			 // json        List   
			 tcc58Arr = JSON.parseArray(str3,
			 TCC58Paste.class);
			 try {
			 for (int i = 0; i < tcc58Arr.size(); i++) {
				 // List            TCC58Paste
			 TCC58Paste t_cc58Paste=tcc58Arr.get(i);
			   //      
			 db.execSQL(
			 "insert into t_cc58manage(cc58_no, goods_info_id, upper_cc55_no , cc_past_date, "
			 +
			 "cc58_father_no, is_father, cc_status, trace_description, cc_error, sys_kbn, "
			 +
			 "company_id, store_id, terminal_id, charger_id, send_date, ins_user, ins_charger, "
			 +
			 "ins_date, upd_user, upt_charger, upd_date) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);",
			 // 18/18
			 new Object[] { t_cc58Paste.getCc58NO(),
			 t_cc58Paste.getGoodsInfoId(),
			 t_cc58Paste.getUpperCc55No(),
			 t_cc58Paste.getCcPastDate(),
			 t_cc58Paste.getCc58_father_no(),
			 t_cc58Paste.getIs_father(), t_cc58Paste.getCcStatus(),
			 t_cc58Paste.getTraceDescription(),
			 t_cc58Paste.getCcError(), t_cc58Paste.getSysKbn(),
			 t_cc58Paste.getCompanyId(), t_cc58Paste.getStoreId(),
			 t_cc58Paste.getTerminalId(),
			 t_cc58Paste.getChargerId(), t_cc58Paste.getSendDate(),
			 t_cc58Paste.getInsUser(), t_cc58Paste.getInsCharger(),
			 t_cc58Paste.getInsDate(), t_cc58Paste.getUpdUser(),
			 t_cc58Paste.getUptCharger(), t_cc58Paste.getUpdDate() });
			 }
			//      
			 db.setTransactionSuccessful();
			 }finally {
			 // TODO Auto-generated catch block
				 //      
			 db.endTransaction();
			 }
			
			 }

좋은 웹페이지 즐겨찾기