sql >> Databasteknik >  >> RDS >> Sqlserver

SQL Server 2008 -- exekvera frågor parallellt

Första idén är att ha separata trådar och separata anslutningar, men jag tror att du kan hantera det med flera anslutningar i en enda tråd med asynkrona återuppringningar:

string[] tables = new string[] { "TableA", "TableB", "TableC" ... };
var runningCommands = new List<SqlCommand>();
foreach(var table in tables)
{
  var conn = new SqlConnection(...);
  conn.Open();
  var cmd = new SqlCommand("DELETE FROM " + table + " WHERE id = @id");
  cmd.Parameters.Add(new SqlParameter("@id", id);
  cmd.BeginExecuteNonQuery(); 
  runningCommands.Add(cmd);
}
// now wait for all of them to finish executing
foreach(var cmd in runningCommands)
{
  cmd.EndExecuteNonQuery();
  cmd.Connection.Close();
}


  1. Varför är MySQL InnoDB så mycket långsammare vid fullbordssökningar än MyISAM?

  2. Oracle Infoga Välj med beställning efter

  3. Hur skriver man en raderingsregel på en vy?

  4. Hur man ändrar konfigurationsinställningarna för Databas Mail i SQL Server (T-SQL)