unity-orm icon indicating copy to clipboard operation
unity-orm copied to clipboard

Add Transaction to InsertAll, that makes the process speed up

Open malcolmjerry opened this issue 3 years ago • 0 comments

public void InsertAll<T>(T[] objects){

		var desc = Registory.GetClassDesc<T>();

		foreach(T obj in objects){

			string insert = SQLMaker.GenerateInsertSQL(desc,obj);

			database.ExecuteNonQuery(insert);

		}

	}

change to

public void InsertAll<T>( T[] objects ) {

		var desc = Registory.GetClassDesc<T>();

		database.ExecuteNonQuery( "BEGIN TRANSACTION;" );

		foreach (T obj in objects) {

			string insert = SQLMaker.GenerateInsertSQL( desc, obj );

			database.ExecuteNonQuery( insert );

		}

		database.ExecuteNonQuery( "COMMIT;" );

	}

malcolmjerry avatar Dec 04 '21 09:12 malcolmjerry