sql >> Databáze >  >> RDS >> Sqlserver

SQL Server 2008 – spouštět dotazy paralelně

První myšlenkou je mít samostatná vlákna a samostatná připojení, ale myslím, že to můžete spravovat s více připojeními v jednom vlákně pomocí asynchronních zpětných volání:

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. Převeďte LONG na varchar v Oracle

  2. jak vypsat výsledek dotazu mysql v konkrétní sekvenci?

  3. Je nerozumné přiřadit databázi MySQL každému uživateli na mém webu?

  4. Změňte sloupce PostgreSQL používané v pohledech