public static async void T_InsertAndSelect_TAP() { System.Diagnostics.Stopwatch stopW = new System.Diagnostics.Stopwatch(); stopW.Start(); await Task.Run(async () => { var connStr = GetMySqlConnString(); var conn = new MySqlConnection(connStr); conn.UseConnectionPool = true; await conn.OpenAsync(); //------------------------------------------ //drop table if exist { string sql = "drop table if exists test001"; var cmd = new MySqlCommand(sql, conn); await cmd.ExecuteNonQueryAsync(); } //------------------------------------------ { string sql = "create table test001(col_id int(10) unsigned not null auto_increment, col1 int(10)," + "col2 char(2),col3 varchar(255),col4 datetime, primary key(col_id) )"; var cmd = new MySqlCommand(sql, conn); await cmd.ExecuteNonQueryAsync(); } //--------------------------------------------- for (int i = 0; i < 2000; ++i) { string sql = "insert into test001(col1,col2,col3,col4) values(10,'AA','123456789','0001-01-01')"; var cmd = new MySqlCommand(sql, conn); await cmd.ExecuteNonQueryAsync(); } //-------------------------------------------- //select back { string sql = "select * from test001"; var cmd = new MySqlCommand(sql, conn); #if DEBUG conn.dbugPleaseBreak = true; #endif var reader = await cmd.ExecuteReaderAsync(); while (reader.Read()) { //test immediate close await reader.CloseAsync(); } await reader.CloseAsync(); } }); //-------------------------------------------- stopW.Stop(); Report.WriteLine("avg:" + stopW.ElapsedTicks); }