Browse Source

Delegating command preparation to the driver (#8) (#3297)

Sébastien Ros 7 years ago
parent
commit
14ad208cd4

+ 2 - 2
frameworks/CSharp/aspnetcore/Benchmarks/Data/DapperDb.cs

@@ -37,9 +37,9 @@ namespace Benchmarks.Data
             }
         }
 
-        async Task<World> ReadSingleRow(DbConnection db)
+        Task<World> ReadSingleRow(DbConnection db)
         {
-            return await db.QueryFirstOrDefaultAsync<World>(
+            return db.QueryFirstOrDefaultAsync<World>(
                     "SELECT id, randomnumber FROM world WHERE id = @Id",
                     new { Id = _random.Next(1, 10001) });
         }

+ 0 - 8
frameworks/CSharp/aspnetcore/Benchmarks/Data/RawDb.cs

@@ -63,10 +63,6 @@ namespace Benchmarks.Data
             id.Value = _random.Next(1, 10001);
             cmd.Parameters.Add(id);
 
-            // Prepared statements improve PostgreSQL performance by 10-15%
-            // Especially if you only call them once, instead of on every execution :)
-            cmd.Prepare();
-
             return cmd;
         }
 
@@ -135,7 +131,6 @@ namespace Benchmarks.Data
                     }
 
                     updateCmd.CommandText = updateCommand.ToString();
-                    updateCmd.Prepare();
                     await updateCmd.ExecuteNonQueryAsync();
                 }
             }
@@ -155,9 +150,6 @@ namespace Benchmarks.Data
                 db.ConnectionString = _connectionString;
                 await db.OpenAsync();
 
-                // Prepared statements improve PostgreSQL performance by 10-15%
-                cmd.Prepare();
-
                 using (var rdr = await cmd.ExecuteReaderAsync(CommandBehavior.CloseConnection))
                 {
                     while (await rdr.ReadAsync())

+ 1 - 1
frameworks/CSharp/aspnetcore/Benchmarks/appsettings.postgresql.json

@@ -1,4 +1,4 @@
 {
-  "ConnectionString": "Server={db_server_placeholder};Database=hello_world;User Id=benchmarkdbuser;Password=benchmarkdbpass;Maximum Pool Size=1024;NoResetOnClose=true",
+  "ConnectionString": "Server={db_server_placeholder};Database=hello_world;User Id=benchmarkdbuser;Password=benchmarkdbpass;Maximum Pool Size=1024;NoResetOnClose=true;Max Auto Prepare=3",
   "Database": "postgresql"
 }