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

Cách gợi ý khóa cập nhật mà không cần sao chép mã quy trình được lưu trữ

Nếu các lệnh gọi đến SP1 theo sau bởi SP2 là nguyên tử, chúng nên được kết hợp trong T-SQL. Hoặc mất giao dịch c #. Bạn đang kéo dài giao dịch một cách không cần thiết với các vòng tua.

Ngoài ra, tại sao có UPDLOCK trên SP1UPDLOCK mà không phải cho SP1? Tôi không thể hiểu tại sao. Nếu vấn đề là các gợi ý về khóa, đừng sử dụng chúng. Nếu một cái gì đó có thể tuần tự hóa (tại sao?) Thì một lần nữa, hãy đặt nó thành một lệnh gọi nguyên tử duy nhất

Lưu ý rằng mặc định vẫn là ĐỌC CAM KẾT

Cuối cùng, bạn có nghĩa là "semaphore" không khóa? Sử dụng sp_getapplock sẽ kiểm soát dòng chảy qua mã mà không sử dụng khóa trên dữ liệu




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để chuyển đổi một ngày SQL thành một DateTime?

  2. So sánh hai tập dữ liệu XML bằng XQuery trong SQL Server

  3. System.AccessViolationException trong .NET 4.0 khi kết nối với Cơ sở dữ liệu SQL

  4. Mệnh đề WHERE thực thi tốt hơn trước IN và JOIN hoặc sau đó

  5. SQL Server:Truy vấn nhanh, nhưng chậm so với thủ tục