SQLite 大家最知道的缺點就是寫入效率太差,但有一個批次處裡的功能可以稍微加快這方面
效率的問題。
筆者在處理18000筆資料寫入上傳統做法要10分左右 但使用該方法只需要2秒鐘左右
//-以下為批次處理SQLite語法
sqlite_conn = new SQLiteConnection(ConfigurationManager.ConnectionStrings["sqlite"].ToString());//取得sqlite位置
sqlite_conn.Open();//--------------打開資料庫
sqlite_cmd = sqlite_conn.CreateCommand();//--啟動資料庫指令
List<string> TempResult = new List<string>;
trans.add("1");//---加入兩筆資料
trans.add("2");
//--批次交易處理方法
DbTransaction trans = sqlite_conn.BeginTransaction();
try
{
for (int i = 0; i < TempResult.Count; i++)//---裡面有兩筆資料
{
sqlite_cmd.CommandText = "INSERT INTO QryStock (SQL) VALUES (" + TempResult[i] +")";
sqlite_cmd.ExecuteNonQuery();//----執行
}
trans.Commit(); // <-------------------批次執行上述的SQL指令
}
catch (Exception ex)
{
trans.Rollback(); // <-------------------如果有發生錯誤會中斷
throw; // <-------------------
}
sqlite_conn.Close();
沒有留言:
張貼留言