Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

SQL Server 2008 - thực hiện các truy vấn song song

Ý tưởng đầu tiên là có các luồng riêng biệt và các kết nối riêng biệt nhưng tôi nghĩ bạn có thể quản lý nó bằng nhiều kết nối trong một luồng duy nhất bằng cách sử dụng lệnh gọi lại không đồng bộ:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Msg 8672, Mức 16, Trạng thái 1, Dòng 1 Câu lệnh MERGE đã cố CẬP NHẬT hoặc XÓA cùng một hàng nhiều hơn một lần

  2. Tìm các ngày Thứ Hai giữa 2 ngày

  3. Câu lệnh ALTER TABLE xung đột với ràng buộc FOREIGN KEY trong SQL Server - Hướng dẫn sử dụng SQL Sever / TSQL Phần 69

  4. SQL đếm hàng trong một bảng

  5. Pivots có cột động trong SQL Server