Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Kunci pesimistis di T-SQL

Jika Anda menunggu sumber daya lain seperti pengguna akhir, ikuti saran Dave Markle dan jangan lakukan itu.

Jika tidak, coba kode T-SQL berikut:

BEGIN TRAN

SELECT *
FROM   authors AU
WITH   (HOLDLOCK, ROWLOCK)
WHERE  AU.au_id = '274-80-9391'

/* Do all your stuff here while the row is locked */

COMMIT TRAN

HOLDLOCK petunjuk dengan sopan meminta SQL Server untuk menahan kunci sampai Anda melakukan transaksi. ROWLOCK petunjuk dengan sopan meminta SQL Server untuk mengunci hanya baris ini daripada mengeluarkan kunci halaman atau tabel.

Ketahuilah bahwa jika banyak baris terpengaruh, SQL Server akan mengambil inisiatif dan meningkatkan ke penguncian halaman, atau Anda akan memiliki pasukan kunci baris yang mengisi memori server Anda dan menghambat pemrosesan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. CONVERT() dari Tanggal/Waktu ke Contoh String di SQL Server

  2. Fungsi yang ditentukan pengguna deterministik Sql Server

  3. Fungsi Bernilai Tabel Multi-pernyataan vs Fungsi Bernilai Tabel Sebaris

  4. Nama instance default dari SQL Server Express

  5. Periksa apakah Tabel Direferensikan oleh Kunci Asing di SQL Server dengan OBJECTPROPERTY()