본문 바로가기

REAL Code

[C#] SQLite insert 할 때 속도 개선

반응형

[C#] SQLite insert 할 때 속도 개선

 

string txtSQLQuery = "insert into  " + tablename +
                      " (word,img1) values ('" + db.word + "'," + "@Image1)";

SQLiteCommand sql_cmd = new SQLiteCommand(txtSQLQuery, sql_con);
SQLiteParameter pa = new SQLiteParameter(); 

pa.ParameterName = "@Image1";
pa.Value = "temp.jpg";

sql_cmd.ExecuteNonQuery();

C#에서 SQLite Insert시 그냥 이렇게 해주셨었는데..

속도가 되게 느렸다 ㅠㅠ

 

SQLite 에서는 Transaction을 사용하고 안하고의 차이가 Insert 사용시 엄청 나나보다..

 

 

그래서 !!

아래와 같이 2개의 함수를 만들어서

insert 이전에

Begin을 해주고 다 해주고 난 뒤에는

Commit을 해준다.

private void BeginTran(SQLiteConnection conn) {
  SQLiteCommand command = new SQLiteCommand("Begin", conn);
         command.ExecuteNonQuery();
         command.Dispose();
}

private void CommitTran(SQLiteConnection conn) {
  SQLiteCommand command = new SQLiteCommand("Commit", conn);
         command.ExecuteNonQuery();
         command.Dispose();
}

 

Begin -> Insert -> Commit 순서로 진행될 수 있도록 말이다.

 

레알북 https://real-book.tistory.com 

 

Real Book

문의는 댓글 및 방명록, 메일 이용해주세요 + 네이버 메일 : fpdkf25 (레알25)

real-book.tistory.com

 

반응형
이웃추가